2013-04-23 4 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); в чем цель. –

+1

Я думаю, что вы должны отключить нажатие кнопки после щелчка в первый раз и включить ее позже. Поэтому проблема не возникает. –

+0

Я использую его для отключения анимации. –

ответ

0

Try This

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

вы можете использовать попробовать/поймать, чтобы убедиться, что любой сбой n ВЗ случаться, а также вы можете использовать заново() метод для перезагрузки активность:

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()); 
    }