我正在Android上制作一个登录系统。我希望注册 Button
在被单击时不可单击。我正在使用这段代码:
final Button register = (Button) findViewById(R.id.register);
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
register.setEnabled(false);
Intent register = new Intent(getApplicationContext(), register.class);
startActivity(register);
}
});
这工作得很好,但我希望即使应用程序或手机重新启动,Button
仍保持不可点击状态。有谁知道如何使 Button
永久不可点击,即使应用程序已关闭?
最佳答案
正如我在评论部分已经说过的,这样的事情可能会起作用:
public class MyActivity extends Activity {
private static final String KEY_IS_BUTTON_CLICKABLE = "key_clickable";
@Override
public void onCreate(Bundle savedInstanceState) {
...
final Button register = (Button) findViewById(R.id.register);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean isClickable = sharedPreferences.getBoolean(KEY_IS_BUTTON_CLICKABLE, true);
register.setEnabled(isClickable);
if(isClickable) {
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
register.setEnabled(false);
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit()
.putBoolean(KEY_IS_BUTTON_CLICKABLE, false);
Intent register = new Intent(getApplicationContext(), register.class);
startActivity(register);
}
});
}
}
...
}
关于java - 如何让按钮永久不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21051771/