java - 如何让按钮永久不可点击

标签 java android android-button

我正在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/

相关文章:

java - Hibernate - 一对多关联

java - SharedPreferenceclear() 抛出空指针异常

android - android中的第一个数据库创建

android - 线性布局不应切断

android - 3 秒后使按钮不可见,但如果用户向上滚动则不要使其不可见

java - 多个线程的并行执行和终止

java - 在ListView中显示JsonArray

java - 从java中的xmpp服务器vysper发送消息

android - 如何知道哪个按钮调用了方法?

java - 将按钮的外观更改为圆形按钮