我正在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
无法点击?
答案 0 :(得分:0)
在这种情况下,您可以采取悲观的方法并使用android:clickable =“false”禁用布局中的按钮(默认情况下),并在需要注册的情况下启用它。
答案 1 :(得分:0)
正如我在评论部分已经说过的,这样的事情可能有用:
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);
}
});
}
}
...
}