我爲我的應用程序做了一個設置菜單,但想知道如何在菜單中單擊首選項時開始一項活動?我希望用戶能夠點擊一個菜單欄上的「更改密碼」,並讓它啓動另一個活動,以便他們可以輸入密碼,輸入新密碼並確認新密碼,以便更改sharedpreferences密碼文件。如果還有其他更簡單的方法可以做到這一點,我將非常感激意見。謝謝偏好onClick
2
A
回答
7
爲什麼不只是創建自己的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 which)方法。這個方法將被調用,當用戶點擊對話框的按鈕時,例如「OK」 - 按鈕。將新密碼保存在SharedPreferences文件中。
@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;
}
}
+0
你應該實際使用中較新的API的處理取消和確認按鈕下面的方法@覆蓋 保護無效onDialogClosed(布爾positiveResult){ 如果(positiveResult){// 處理OK按鈕 }其他{ \t //處理取消按鈕 }} – box
相關問題
- 1. Android偏好onclick事件使用sherlockpreferenceactivity
- 2. 偏好:OnClick指向社交網絡
- 3. Android偏好偏好?
- 4. 偏好庫不加載偏好
- 5. 偏好活動與偏好片段?
- 6. Android偏好屏幕偏好設置
- 7. 偏好活動偏好Click Click Listener
- 8. 共享偏好以及偏好片段
- 9. 無法執行的onSaveInstanceState(的onClick偏好)後,這個動作
- 10. 保存偏好
- 11. Android偏好onBackButton
- 12. 定製偏好
- 13. Android偏好
- 14. TargetAuthenticationStrategy,偏好
- 15. Winforms偏好值
- 16. android偏好
- 17. 擺脫偏好
- 18. 用戶偏好
- 19. 偏好在PreferenceActivity
- 20. 分配偏好
- 21. 從定製偏好
- 22. 閱讀偏好值
- 23. Android全局偏好
- 24. Android在線偏好
- 25. Android偏好主題
- 26. 應用偏好Settings.app
- 27. Android - 偏好onCreateView attrs.getAttributeCount()
- 28. Android偏好問題
- 29. Android偏好設置
- 30. Android共享偏好
檢查這一點, http://stackoverflow.com/questions/5330677/android-preferences-onclick-event – Randroid