0
我剛剛開始使用Android Studios並希望通過Button Clickevent創建一個具有可設置的Start值的CountDownTimer。 到目前爲止我的代碼:`Android:CountDownTimer使用EditText中的按鈕設置起始值
private static final String TAG = "MSchlanstedt";
private int number;
boolean status = true;
private CountDownTimer myTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ProgressBar bar = (ProgressBar)findViewById(R.id.progressBar);
final EditText Time = (EditText)findViewById(R.id.text);
final Button Button = (Button)findViewById(R.id.start);
final TextView textView = (TextView)findViewById(R.id.textView);
Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (status == true)
{
Button.setText("Stop");
number = Integer.valueOf(Time.getText().toString())*1000;
myTimer.start();
status = false;
Log.d(TAG, "Button.onClick():Start " + number);
}else
{
myTimer.cancel();
Button.setText("Start");
Log.d(TAG, "Button.onClick():Stop " + number);
status = true;
}
}
});
myTimer = new CountDownTimer(number,1000) {
public void onTick(long millisUntilFinished)
{
Log.v(TAG,"CountDownTimer.onTick(): sUntilFinished: "+number+"/"+ millisUntilFinished /1000);
textView.setText(String.valueOf(millisUntilFinished/1000));
}
public void onFinish()
{
Log.v(TAG,"CountDownTimer.onFinish()");
}
}.start();
}
...`
我的問題是,文本開頭之間和按鈕開關停止,但在倒計時不會與我整型數字開始。如果我將起始值設置爲3000,則它完美啓動。
我的問題是我如何獲得我的EditText的值作爲我的CounterDown的開始值。
這是我在stackoverflow上的第一個問題,請耐心等待我和我的英語不好。
請添加您的logcat –
更改Edittext名稱。你不應該設置像「時間」這樣的名字。 –
'私人int編號;'自動初始化爲'0'。 'myTimer = new CountDownTimer(number,1000){...}'在設置OnClickListener之後運行。因此'number'爲'0',並且'myTimer = new CountDownTimer(0,1000){...}'被執行。 – GiantTree