2015-10-08 6 views
0

Весь мой код работает нормально, никаких ошибок, кнопка click увеличивает текстовое изображение на 1 каждый щелчок и запускает хронометр.хронометр начать с начальной кнопки нажмите

public class MainActivity extends Activity{ 

    TextView txtCount; 
    Button btnCount; 
    int count=0; 
    Chronometer chrono; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     chrono=(Chronometer) findViewById(R.id.chronometer); 
     txtCount=(TextView) findViewById(R.id.textView); 
     btnCount=(Button)findViewById(R.id.button); 

     btnCount.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
      //onclick increase textView by 1 
       count++; 
       txtCount.setText(String.valueOf(count)); 
      //on button click start the chronometer at 00:00 
       btnCount.setEnabled(true); 
       chrono.setBase(SystemClock.elapsedRealtime()); 
       chrono.start(); 

      } 
    }); 
}} 

... но, как мой код читает, хронометр сбрасывается и запускается при каждом нажатии кнопки. есть ли способ запустить хронометр при первом нажатии кнопки, а затем продолжить использовать ту же кнопку для увеличения текста, но не иметь взаимодействия с виджетами хронометра?

ответ

0

Просто используйте boolean, чтобы проверить, запущен ли ваш хронометр уже?

boolean mIsStarted = false; 
... 

btnCount.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     //onclick increase textView by 1 
      count++; 
      txtCount.setText(String.valueOf(count)); 
     //on button click start the chronometer at 00:00 
      btnCount.setEnabled(true); 
      if (!mIsStarted) { 
       chrono.setBase(SystemClock.elapsedRealtime()); 
       chrono.start(); 
       mIsStarted = true; 
      } 

} 
+0

awesome это делает! Спасибо за помощь! –