在自定义首选项的onCreateView中加载布局

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

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

它崩溃,我不知道要从方法参数返回一个ViewGroup父项? 我也试过:

  • 查看视图= View.inflate(getContext(),R.layout.test,父),但它没有工作。

我命名根布局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 .... 

你能告诉我我做错了什么,或者指点我一些实际的例子。 谢谢

更新

以下是关于如何膨胀以上布局的woking解决scheme:

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

Solutions Collecting From Web of "在自定义首选项的onCreateView中加载布局"

如果你正在使用onCreateView我想你是使用fragment或扩展View 。 无论如何检查这个:

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

如果你正在膨胀一个布局,你应该做这样的事情:

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