1

PreferenceScreenAndroid アプリケーション用に をセットアップしています。EditTextPreferenceリモートサーバーを指定するために を含めました。ここで、ポップアップ内のアドレスを初期値にリセットするオプションをユーザーに提供したいと思います。

基本的に欲しいのは、 「CANCEL」「OK」 に加えて「RESET」という3番目のボタンです。

ここに画像の説明を入力

このカスタマイズを実現する簡単な方法はありますか?

完全性のためのコード:

<PreferenceCategory android:title="General">

    <EditTextPreference
        android:defaultValue="http://stackoverflow.com/"
        android:dialogTitle="Specify the remote server: "
        android:inputType="textUri"
        android:key="serverAddress"
        android:maxLines="1"
        android:summary="somesSummaryText"
        android:title="Server Address"
        android:persistent="true" />

</PreferenceCategory>

4

2 に答える 2

2

を使用してこれを行う方法はないと思いますが、EditTextPreferenceいつでも簡単Preferenceに AlertDialog を OnClick に追加して、カスタマイズを念頭に置いて行うことができます。

<Preference
    android:key="pref_key_edit"
    android:summary="@string/pref_summary_edit"
    android:title="@string/pref_title_edit"/>

またはをオーバーライドしonPreferenceTreeClickますPreferenceActivityPreferenceFragment

@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
    switch (preference.getKey()) {
        case "pref_key_edit":
            // Do whatever you want here
            return true;
    }
    return super.onPreferenceTreeClick(preferenceScreen, preference);
}
于 2016-05-22T17:51:40.933 に答える