我需要LayoutInflater的帮助。
在我的项目中,我收到“避免将null
作为视图根传递(需要解析布局参数...)”的警告。
当在OnCreate方法中出现类似以下内容时,此警告来自Activity:
LayoutInflater inflater =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.my_view, null);
例如,它用于膨胀标题。
我知道,当我在Fragment或Adapter中使用LayoutInflater时,我拥有ViewGroup对象,可以将其传递为null,但是当它处于Activity中时,在这种情况下该怎么办?我应该禁止此警告并传递null还是以某种方式创建父对象?
编辑:
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);
}
}
}
最佳答案
您为什么不直接在活动中致电getLayoutInflater()
?
如下:
View view = getLayoutInflater().inflate(R.layout.my_view, null);
null
参数没有问题的地方。我的活动效果很好。关于android - Activity 中的LayoutInflater,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33297264/