2013-04-23 26 views
2

我有一個按鈕設置爲重置活動。當我按太多太快的速度時,它不僅會排隊(如當我按回時,還有另一個活動實例)並可能崩潰。有什麼我可以做,以防止這些事情發生?Android:按下一個按鈕以快速重置活動崩潰程序

我使用在onclick方法的代碼:

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

爲什麼要使用intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);什麼目的。 – 2013-04-23 03:55:19

+1

我認爲你應該在第一次點擊後禁用按鈕點擊,然後啓用它。所以這個問題不會發生。 – 2013-04-23 04:06:24

+0

我用它來禁用動畫。 – 2013-04-23 04:08:21

回答

0

嘗試這個

btn.setOnClickListener(new OnClickListener() { 

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

      } 
     }); 
0

,或只是簡單地使用

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

可以使用嘗試/趕上以確保有任何碰撞事故發生OT發生,你也可以使用重新創建()方法重新啓動活動:

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()); 
    } 
相關問題