我想使用preferenceFragment。我有一个标签式活动,并在一个片段中的标签式活动中,我想显示所有首选项。所以这个片段是v4的支持片段,即android.support.v4.app.Fragment;
如何在此设置preferenceFragment?
我试过这种方式:
public class PreferencesFrag extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_preferences, container, false);
}
}
但是当我尝试调用片段时,这显示了寻呼机适配器中的错误:
适配器:
public class SectionsPagerAdapter extends FragmentPagerAdapter {
CharSequence Titles[];
int NumbOfTabs;
public SectionsPagerAdapter(FragmentManager fm, CharSequence mTitles[], int mNumbOfTabsumb) {
super(fm);
this.Titles = mTitles;
this.NumbOfTabs = mNumbOfTabsumb;
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new BasicInformationFragment();
case 1:
return new PersonalDetailsFragment();
case 2:
return new PreferencesFrag();
case 3:
return new InviteFriendsFagment();
}
return null;
}
@Override
public CharSequence getPageTitle(int position) {
return Titles[position];
}
@Override
public int getCount() {
return NumbOfTabs;
}
}
编辑:
我曾经尝试过这种方式来替换片段,但它并没有取代它的标签剂量不能向前移动。
PreferencesFrag fragment2 = new PreferencesFrag();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment1, fragment2);
fragmentTransaction.commit();
它显示错误,错误的第二种类型的参数需要v4.app.fragement找到fragment.PreferenceFragment。
显示首选项frag上的错误。 我怎样才能做到这一点? 谢谢..
答案 0 :(得分:0)
在nestedFragment
中使用fragment
加载虚拟TabAdapter
并在该片段中将其替换为PreferenceFragment
android