私はこれを仕事で実装することができました、私がそれをどのように実装したかを頭の中で今覚えていません、ずっと前でした。誰もあなたに良い答えを持っていない場合は、明日投稿します。ボタンとして機能するPreferenceを配置したことを覚えています。次に、クリック時に新しいPreferenceScreenを開くためにpreferenceClickListenerを追加しました。しかし、私が言ったように、あなたが満足のいく答えを得られないならば、私はあなたのためにそれを明日投稿します。
幸運を!
アップデート:
?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Personal"
android:key="personal_category">
<Preference
android:key="birth"
android:title="Birth"
android:summary="Choose your birthday"/>
<PreferenceScreen
android:key="height_imp"
android:title="Height"
android:summary="Enter your height">
<EditTextPreference
android:key="foot"
android:title="Foot"
android:summary="foot"
android:numeric="integer"
android:dialogTitle="Foot"/>
<EditTextPreference
android:key="inch"
android:title="Inch"
android:summary="inch"
android:numeric="integer"
android:dialogTitle="Inch"/>
</PreferenceScreen>
<EditTextPreference
android:key="weight"
android:title="Weight"
android:summary="Enter your weight"
android:numeric="integer"
android:dialogTitle="Weight"/>
</PreferenceCategory>
</PreferenceScreen>
それでおしまい!それをクリックすると、2番目のPreferenceScreenなどに移動します。最後に、レイアウトをカスタマイズする必要がある場合は、アクティビティを開く必要があります。次に、設定を使用してonPreferenceClickを追加できます。
@Override
public boolean onPreferenceClick(Preference preference) {
if(preference == birth){
startActivity(new Intent(getBaseContext(), Birth.class));
}
if(preference == height_imp){
PreferenceScreen a = (PreferenceScreen) preference;
a.getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
return false;
}
return true;
}
PreferencesScreenを使用して背景などを変更する必要がある場合は、preferenceClickListenerも追加します。height_imp = (PreferenceScreen)getPreferenceScreen().findPreference("height_imp");
height_imp.setOnPreferenceClickListener(this);