前提・実現したいこと
EditTextPreferenceのダイアログでOKボタンが押された場合に実行したいです.
できたらandroidxに対応した方法をお願いします。
(androidxでは onBindDialogView、onDialogClosedを使用できないようです)
該当のソースコード
java
1public class EditDialog extends EditTextPreference implements DialogInterface.OnClickListener{ 2 3public EditDialog(Context context) { 4 super(context); 5 } 6 public EditDialog(Context context, AttributeSet attrs, int defStyle) { 7 super(context, attrs, defStyle); 8 } 9 public EditDialog(Context context, AttributeSet attrs) { 10 super(context, attrs); 11 } 12 13 @Override 14 public void onClick(DialogInterface dialog, int which) { 15 switch (which) { 16 case DialogInterface.BUTTON_POSITIVE: 17 setPositiveButtonText("変更する"); 18 break; 19 20 case DialogInterface.BUTTON_NEGATIVE: 21 22 break; 23 } 24 }
xml
1<jp.xx.xxxx.xxxxxxx.EditDialog 2 android:key="edit_text" 3 android:selectAllOnFocus="true" 4 android:singleLine="true"/>
試したこと
最初setOnPreferenceChangeListenerを使用していたのですが、実行内容が1つ古く、ずれてしまっていたためOKボタンが押された場合に実行される方法を試していました。
EditTextPreferenceを継承DialogInterface.OnClickListenerを実装?してokボタンが押されたことを確認しようとしたのですが、
ボタンを押しても何も起こりませんでした。
あと、XMLに設定した内容も適応されていませんでした。
onBindViewHolderでのsetPositiveButtonTextはちゃんと表示されているので、別のDialogが表示されているとかではなさそうです。
補足情報(FW/ツールのバージョンなど)
androidxに対応した方法を教えていただけると幸いです
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。