を使用しPreferenceActivity
て設定を直接ロードする代わりに、設定AppCompatActivity
をロードするPreferenceFragmentCompat
をロードする同等のものを使用します。これはサポートライブラリ(現在はAndroid Jetpack)の一部であり、API 14への互換性を提供します。
あなたにはbuild.gradle
、好みのサポートライブラリの依存関係を追加します。
dependencies {
// ...
implementation "androidx.preference:preference:1.0.0-alpha1"
}
注:設定XMLがすでに作成されていることを前提としています。
アクティビティ用に、新しいアクティビティクラスを作成します。マテリアルテーマを使用している場合は、を拡張する必要AppCompatActivity
がありますが、これで柔軟にできます。
public class MyPreferencesActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_preferences_activity)
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, MyPreferencesFragment())
.commitNow()
}
}
}
次に、重要な部分について、XMLから設定をロードするフラグメントを作成します。
public class MyPreferencesFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.my_preferences_fragment); // Your preferences fragment
}
}
詳細については、Android Developersのドキュメントをご覧くださいPreferenceFragmentCompat
。