0

私はAndroidアプリケーション用にPreferenceScreenを設定しています。 リモートサーバーを指定するためにEditTextPreferenceが含まれていました。 今私は、ポップアップ内の初期値にアドレスをリセットするためのオプションをユーザーに提供したい:Androidの設定、カスタマイズEditTextPreference

基本的に私が欲しいものを3番目のボタン、以外を「リセット」され、「を「CANCEL」

enter image description here

私がこのカスタマイズを達成するための簡単な方法「OK?

completnessのためのコード:

<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> 

答えて

1

EditTextPreferenceを使用する方法はないと思いますが、いつでも簡単にPreferenceを使用して、あなたの心に留めているカスタマイズを使ってOnClickにAlertDialogを追加することができます。

<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); 
} 
+0

をオーバーライドする簡単な答えはありませんにもかかわらず、ありがとうございます。それは私がそれを(私は非常にアンドロイドに慣れている)私が欲しいやり方で働くためには、より多くの方法を読む必要があるようです。ありがたいことに、あなたは私を正しい方向に押し込んだ。 –

0

OK、あなたはこのために優先画面優先を使用することができます。また、PreferenceのonPreferenceClickListenerでは、カスタムダイアログを表示してダイアログから値を取得し、SharedPreferenceを使用して値を保存します。

関連する問題