私は自分のアプリケーションの設定メニューを作ったが、プリファレンスがメニュー内でクリックされたときにアクティビティを開始するにはどうすればいいだろうか?ユーザーが「パスワードを変更する」というメニューバーをクリックし、別の操作を開始してパスワードを入力できるようにし、新しいパスワードを入力して新しいパスワードを確認して、sharedpreferencesパスワードファイルを変更できるようにしたい。これを行う他の方法があれば、私は大変感謝しています。ありがとうプリファレンスonClick
答えて
なぜあなた自身のDialogPreferenceを作成しないのですか?手順は次のとおりです。
1)XMLでダイアログのレイアウトを作成します。
2)独自のカスタムクラスを使用してandroidフレームワークのDialogPreferenceクラスを拡張します。
3)はコンストラクタで、
public CustomDialogPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.preference_dialog_number_picker);
}
4)onBindDialogView(ビュービュー)メソッドをオーバーライドして、コードにレイアウト要素を結合すると、ダイアログのレイアウトを設定します。 SharedPreferencesファイルから現在のパスワード値を取得し、TextChangedListenersで検証を処理します。たとえば、ユーザーが新しいパスワードを確認しない場合は、エラーを表示します。
@Override
protected void onBindDialogView(View view) {
// bind view
mOldPass = (TextView) view.findViewById(R.id.old_pass);
mNewPass = (TextView) view.findViewById(R.id.new_pass);
mConfirmPass = (TextView) view.findViewById(R.id.confirm_pass);
// get the current password from SharedPreferences
// add text changed listener for handling validation
}
5)onClick(DialogInterfaceダイアログ、int)メソッドをオーバーライドします。このメソッドは、ユーザーがダイアログのボタン、たとえば「OK」ボタンをクリックしたときに呼び出されます。新しいパスワードをSharedPreferences-fileに保存します。
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
// save your new password here
break;
default:
// do something else...
break;
}
}
あなたが実際に新しいAPIの中にキャンセルして確認ボタンを処理するための次のメソッドを使用する必要があります@ onDialogClosed 保護のボイド(ブールpositiveResult)をオーバーライド{ 場合(positiveResult){ が// }他{ \t //ハンドルはボタン をキャンセル} [OK]ボタンをハンドル} – box
- 1. プリファレンス・フラグメントのボタン
- 2. トグルボタン付き共有プリファレンス
- 3. 共有プリファレンス強制終了
- 4. Powershellのプリファレンス変数のコレクション
- 5. 共有プリファレンスのヌルポインタ例外
- 6. プリファレンスをレーティングに変換する
- 7. プリファレンスを検証します。 Android
- 8. デスクトップGUIのないPulseAudioプリファレンス(paprefs)
- 9. コンピュータ間のEclipse同期ワークスペース/パースペクティブ/プリファレンス
- 10. グループをプリファレンスで分割する
- 11. 共有プリファレンスの値をクリアしたい
- 12. コードネーム1のデバッグとリリースのプリファレンス値
- 13. "有益な"プリファレンスの作成方法
- 14. 別のアクティビティのプリファレンスにアクセスする
- 15. プリファレンスから値を読み取る
- 16. プリファレンスの読み取り/書き込み
- 17. プリファレンスをシークバーに追加する
- 18. Androidのアンパサンドとプリファレンスの設定
- 19. サブスクリーンにプリファレンスが表示されない
- 20. optionMenuアイテムアイコンを共有プリファレンスに保存
- 21. Android共有プリファレンスの初期化
- 22. アクティビティとサービス間のプリファレンスの共有
- 23. 他のアプリのプリファレンスを読んだり、いくつかのプリファレンスを共有したりできますか?
- 24. 共有プリファレンス/プリファレンス・アクティビティはページ内のフラグメントの有効/無効を許可しますか?
- 25. onclickまたはonClick?
- 26. Button onclick = "onclick()" throws最大スタックエラー
- 27. RecyclerView行onClickと子ボタンonClick
- 28. onClickとDOMとonClickハードコード
- 29. onclickの場合、 `onclick =" confirmOnSubmit() `vs` onclick = "confirmOnSubmit`を使用する場合
- 30. 文字列のarraylistを共有プリファレンスに保存する
、これをチェックしてください http://stackoverflow.com/questions/5330677/android-preferences-onclick-event – Randroid