フラグメントでPreferenceFragmentをロードする方法
PreferenceFragmentをFragmentに読み込むには、次の手順に従います。
- 私の優先順位フラグメント
- onCreatePreferences()
public class MyPreferenceFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences, rootKey);
}
}
- getChildFragmentManager()
- beginTransaction()
FragmentManager fragmentManager = getChildFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
- PreferenceFragmentの新しいインスタンスを作成し、トランザクションに追加します。
MyPreferenceFragment preferenceFragment = new MyPreferenceFragment();
fragmentTransaction.add(R.id.fragment_container, preferenceFragment);
この `R.id.fragment_container` は、フラグメントを配置するためのコンテナビューです。
- コミット
- コミット
- コミット中にステートロスを許可します
fragmentTransaction.commitAllowingStateLoss();
フラグメント内にPreferenceFragmentをロードすることができます。