我有一个按钮设置来重置活动。当我按太快次按太快时,它不仅排队活动(如我按下时,还有另一个活动实例)并且可能崩溃。我有什么办法可以防止这些事情发生吗?
我在onClick方法中使用的代码:
Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
答案 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());
}