LayoutInflater在PreferenceFragment中不起作用

时间:2014-05-22 22:33:16

标签: android android-layout android-fragments layout-inflater android-inflate

我正在构建一个PrefenceFragment,但我在片段中膨胀自定义布局时遇到了问题。 实际上,我创建了一个自定义布局来膨胀但不起作用(布局没有膨胀)。我正在尝试一些解决方案,但我不明白我错在哪里......

这是我的示例代码:

public class MyPreferenceFragment extends PreferenceFragment
{
        private ListView listjob;

        @Override
        public void onCreate(final Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);

            LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService(LAYOUT_INFLATER_SERVICE);
            View viewlist = inflater.inflate(R.layout.pref_listview_job, null);
            TextView txtProva = (TextView)viewlist.findViewById(R.id.txtProva);
            txtProva.setText("This is a text");

        }
}

这是我的自定义布局pref_listview_job.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/txtProva"/>

</LinearLayout>

谢谢!

1 个答案:

答案 0 :(得分:-1)

如果您延长PreferencesFragment,则需要考虑做两件事:

  1. 创建描述设置屏幕的XML文件。这不是标准的布局文件。
  2. 您需要使用addPreferencesFromResource(R.xml.preferences)方法来扩充此首选项XML文件。
  3. 以下是我提到的XML文件和方法的文档链接: http://developer.android.com/reference/android/preference/PreferenceFragment.html

    如果您需要自定义首选项页面,则有两个选项。您可以将PreferencesFragment与客户偏好设置一起使用,也可以扩展非偏好Fragment(例如ListFragment)并将所有偏好设置为标准视图。