在onCreateView中加载布局以获取自定义首选项

时间:2011-01-19 09:47:16

标签: android layout preferences

我可以在onCreateView调用期间从xml加载布局,我试过:

  • setLayoutResource(R.layout.test);
  • setWidgetLayoutResource(R.layout.test);

它崩溃了,我不知道从方法参数返回ViewGroup父类的内容是什么? 我也尝试过:

  • 查看视图= View.inflate(getContext(),R.layout.test,parent),但效果不佳。

我将root布局命名为widget_frame,但它没有帮助

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent" 
 android:padding="1dp" android:clickable="false" android:id="@+id/widget_frame">
 <LinearLayout ....

你能告诉我我做错了什么还是指出了一些有用的例子。 感谢

更新

以下是关于如何对布局进行夸大的解决方案:

    LayoutInflater inflater =  (LayoutInflater)getContext().
                              getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater.inflate(R.layout.test, parent, false);

2 个答案:

答案 0 :(得分:2)

如果您使用onCreateView,我猜您要么使用fragment要么延长View。 无论如何检查这个:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.your_layout, container);
}

答案 1 :(得分:0)

如果要给布局充气,你应该这样做:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     return inflater.inflate(R.layout.your_layout, null);
}