片段getItem(int arg0)返回preferenceFragment

时间:2013-11-22 00:31:20

标签: android android-fragments tabs fragment

所以基本上我正在做的是使用以下代码和标签。我想要做的是有一个带有PreferenceFragment的标签。但是,它必须返回一个片段。

@Override
public Fragment getItem(int arg0) {
    // TODO Auto-generated method stub
    Fragment fragment = null;
    if (arg0 == 0) {
        fragment = new FragmentNormal();
    }
    if (arg0 == 1) {
        fragment = new FragmentDifference();
    }
    if (arg0 == 2) {
        fragment = new FragmentSetup();
    }
    return fragment;
}

如果argo0 == 2,我需要做两件事之一。首先 - 返回一个片段并使FragmentSetup扩展Fragment而不是PreferenceFragment(然后我不知道如何显示首选项)

OR

以某种方式返回PrefererenceFragment。

这是我的FragmentSetup的代码(基本上它只是加载带有textview的基本布局)

public FragmentSetup() {
    // Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_setup, container,
            false);
}

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    // Load the preferences from an XML resource

}

}

1 个答案:

答案 0 :(得分:0)

所以这是其他任何想知道的答案:

  

问题是dat getItem()想要你返回一个   android.support.v4.app.Fragment,但官方的PreferenceFragment   仅作为API 11+中android.app.Fragment的扩展而存在   包。话虽如此,有一个[非正式的后端] [1]   你可能想尝试一下。或者,您可以设计常规   片段来保持您的偏好,但这可能需要   更多的工作,或者将其分解为普通的PreferencyActivity。

     

backport - https://github.com/kolavar/android-support-v4-preferencefragment

感谢MH的回答。您所要做的就是下载backport并将其作为库资源添加到您的项目中,然后导入android.app事件的android.support.v4事件INSTEAD。

希望这有助于每个人都喜欢它帮助我:)。