私はタイマーをエミュレートする必要があるAndroidアプリを持っていますが、問題は、タイマーを開始するボタンをタップすると、即時にonFinishメソッドがトリガーされ、その結果、タイマーが終了し、電話でトースト。ボタンをonClick
呼び出して作成し、クリックイベント内のビューを破壊する?ボタンonClickは、クリックしたイベント内でビューを作成して破棄しますか?
これは、ボタンによって呼び出されるメソッドです:
public void onClick(View v){
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
timerValue = newVal*1000;
}
});
new CountDownTimer(timerValue, 1000){
@Override
public void onTick(long millisUntilFinished) {
Log.i("robeh accadono", String.valueOf(millisUntilFinished/1000));
}
@Override
public void onFinish() {
Toast.makeText(MainActivity.this, "Il timer è arrivato alla fine", Toast.LENGTH_SHORT).show();
Log.i("Fatto!", "finito");
}
}.start();
}
あなたのクリックイベントからコードのこの部分を削除ボタンが押されたときにtimerValue
変数はすべて
ブレークポイントを持つデバッガを使用して、何が起きているのか把握しましたか? – Raghunandan
はい、それはtimerValueをリセットする場合と同じです –