实际上我有3个按钮。用户应点击任意一个按钮,然后所有3个按钮应在整个应用程序中永久禁用(当我们关闭并打开应用程序时,按钮应处于禁用状态)。如何实现这一目标?
提前致谢。
答案 0 :(得分:1)
在SharePreferences中定义行为:
例如在onResume
:
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
boolean enabled = pref.getBoolean("isEnabled",true);
myButton.setEnabled(enabled);
在按钮的onClick
事件中执行此操作:
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
pref.edit().putBoolean("isEnabled",false).commit();
myButton.setEnabled(false);
答案 1 :(得分:0)
您需要在共享偏好中保存按钮状态,并根据您在活动代码中启用/禁用它所需的条件。
if(stateofbuttonfromprefs) {
button.setEnabled(false);
} else {
button.setEnabled(true);
}
答案 2 :(得分:0)
您可以将 SharedPreference 用于您的目的。有关更多信息,请参阅this
在onCreate方法之前声明SharedPreference
SharedPreferences stateButton;
SharedPreferences.Editor bEditor;
在onCreate()
上初始化它
stateButton= getApplicationContext().getSharedPreferences("Button_State", 0);
bEditor = stateButton.edit();
在您的活动中添加这两种方法
public void setBState(boolean e) {
bEditor.putBoolean("btn_state", e);
bEditor.commit();
}
public boolean getButState(){
return stateButton.getBoolean("btn_state", true);
}
调用此方法来了解您的按钮状态调用
but.setEnabled(getBState());
当您需要禁用该按钮时,请使用
setBState(false);
答案 3 :(得分:0)
点击按钮
button_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
prefs.edit().putBoolean("btn_click", true).commit();
}
});
在Activity OnCreate方法
Boolean btnClick= prefs.getBoolean("btn_click", false);
if(btnClick){
//Disable Button
}else{
//Enable Button
}