要在Fragment中加載PreferenceFragment,可以按照以下步驟進行操作:
MyPreferenceFragment
,并在其中實現onCreatePreferences()
方法來加載偏好設置布局文件。public class MyPreferenceFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences, rootKey);
}
}
getChildFragmentManager()
方法獲取子FragmentManager,然后使用beginTransaction()
方法開始一個Fragment事務。FragmentManager fragmentManager = getChildFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
MyPreferenceFragment preferenceFragment = new MyPreferenceFragment();
fragmentTransaction.add(R.id.fragment_container, preferenceFragment);
這里的R.id.fragment_container
是一個用于放置Fragment的容器視圖。
commit()
方法來提交事務,并確保在調用commit()
之前調用commitAllowingStateLoss()
方法。fragmentTransaction.commitAllowingStateLoss();
這樣就可以在Fragment中加載PreferenceFragment了。