因此,我有一个开始按钮1,在其中单击它时,它将从EditText1中获取文本,然后调用CountDownTimer来调用一个方法,该方法将EditText1中的文本通过其参数传递,并每10秒在TextView1中显示一些内容。但是,如果您决定在EditText1中键入其他内容,然后再次单击开始按钮1,它将再次调用CountDownTimer。
在这种情况下,将有2个“ doThis” CountDownTimer变量,而执行doThis.cancel()只会取消第二个“ doThis” CountDownTimer变量。我想知道如何解决此问题。
[EditText1]
[[开始按钮1] [TextView1] [结束按钮1][开始按钮2] [TextView2] [结束按钮2]
CountDownTimer doThis;
doThis = new CountDownTimer(10000,10000)
{
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
start();
TextView text = (TextView)findViewById(R.id.text);
try {
Date date = new Date(System.currentTimeMillis());
text.setText(myMethod(variableFromEditText1));
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
CountDownTimer cdt = new CountDownTimer [...]
。我什至要包装一个包含开始/结束按钮,文本视图和计时器本身的包装器。类似于: