我为我的应用程序做了一个设置菜单,但想知道如何在菜单中单击首选项时开始一项活动?我希望用户能够点击一个菜单栏上的“更改密码”,并让它启动另一个活动,以便他们可以输入密码,输入新密码并确认新密码,以便更改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