Android:按一个按钮以快速重置活动会导致程序崩溃

时间:2013-04-23 03:48:19

标签: android button android-activity crash onclicklistener

我有一个按钮设置来重置活动。当我按太快次按太快时,它不仅排队活动(如我按下时,还有另一个活动实例)并且可能崩溃。我有什么办法可以防止这些事情发生吗?

我在onClick方法中使用的代码:

Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);

3 个答案:

答案 0 :(得分:0)

试一下

btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                                btn.setEnabled(false);
                Intent intent = getIntent();
                                startActivity(intent);
                                finish();

            }
        });

答案 1 :(得分:0)

或只是简单地使用

btn.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View v) {
        btn.setEnabled(false);
        //your code here
        btn.setEnabled(true);
    }
}

答案 2 :(得分:0)

您可以使用 try / catch 确保不会发生任何崩溃,也可以使用重新创建()方法重新启动您的活动:

   try{
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               button.setEnabled(false);

                recreate();

               button.setEnabled(true);
            }
        });
    }catch (Exception e ){
        Log.e("TAG",e.getMessage());
    }