Мне нужна помощь с LayoutInflater. В моем проекте я получаю «Избегайте прохождения null
как корень вида (необходим для разрешения параметров макета ...» ворса предупреждение Это предупреждение от деятельности, когда в OnCreate метод у меня есть что-то вроде этого:.LayoutInflater в действии
LayoutInflater inflater =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.my_view, null);
это для надувания заголовок, например.
Я знаю, что когда я использую LayoutInflater в фрагменте или адаптер у меня есть ViewGroup объект, и я могу передать его вместо нулевой, но то, что я должен делать в этой ситуации, когда она находится в деятельности? Должен ли я подавить это предупреждение и передать null или создать какой-либо родительский объект?
EDIT:
public void addTextField(String message, int textSize) {
LinearLayout field = (LinearLayout) getLayoutInflater().inflate(R.layout.text_view_field, null);
TextView textView = (TextView) field.findViewById(R.id.taroTextView);
textView.setText(message);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize);
textView.setSingleLine(false);
mFieldsLayout.addView(field, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
или:
public class MyActionBarActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
LayoutInflater inflater = LayoutInflater.from(this);
View customView = inflater.inflate(R.layout.action_bar_layout, null);
actionBar.setCustomView(customView);
actionBar.setDisplayShowCustomEnabled(true);
}
}
}
Вы не можете использовать findViewById в своем коде вместо этого? Но сначала настройте свой макет, используя setContentView, прежде чем использовать findViewById, чтобы получить обработчики вашего кода. – Simon