阅读量:6
要在Fragment中加载PreferenceFragment,可以按照以下步骤进行操作:
- 创建一个PreferenceFragment子类,例如
MyPreferenceFragment
,并在其中实现onCreatePreferences()
方法来加载偏好设置布局文件。
public class MyPreferenceFragment extends PreferenceFragmentCompat { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.preferences, rootKey); } }
- 在要加载PreferenceFragment的Fragment中,使用
getChildFragmentManager()
方法获取子FragmentManager,然后使用beginTransaction()
方法开始一个Fragment事务。
FragmentManager fragmentManager = getChildFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
- 创建一个新的PreferenceFragment实例,并将其添加到事务中。
MyPreferenceFragment preferenceFragment = new MyPreferenceFragment(); fragmentTransaction.add(R.id.fragment_container, preferenceFragment);
这里的R.id.fragment_container
是一个用于放置Fragment的容器视图。
- 调用
commit()
方法来提交事务,并确保在调用commit()
之前调用commitAllowingStateLoss()
方法。
fragmentTransaction.commitAllowingStateLoss();
这样就可以在Fragment中加载PreferenceFragment了。