[英]How to pass values for seconds in countdown timer , I am able to pass minutes but not seconds , it always start from 60
Here is my method to start , i am passing minutes from the Textview , how can i pass user defined seconds to star with 这是我的开始方法,我正在从Textview中传递分钟,我如何将用户定义的秒传递给
startbtnn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
final CounterClass timer = new CounterClass(Integer.parseInt(timertxt11.getText().toString())*60000,1000,v);
timer.start();
}
});
and Here s the class that is used 这是使用的类
public class CounterClass extends CountDownTimer
{
public CounterClass(long millisInFuture, long countDownInterval,View v)
{ super(millisInFuture, countDownInterval);
}
@Override
public void onFinish()
{
// timertxt.setText("Completed.");
}
@Override
public void onTick(long millisUntilFinished)
{
long millis = millisUntilFinished;
String hms1 = String.format("%02d",TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)));
String hms2 = String.format("%02d", TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
System.out.println(hms1+": " +hms2);
timertxt11.setText(hms1);
timertxt22.setText(hms2);
}
}
Please help me out. 请帮帮我。
if you have two TextView(one shows mins and another shows secs) 如果您有两个TextView(一个显示分钟,另一个显示秒)
int mins = Integer.parseInt(minTextView.getText().toString());
int secs = Integer.parseInt(secTextView.getText().toString());
long totalMillis = (mins * 60 + secs) * 1000L;
new CounterClass(totalMillis, 1000L, v).start();
or if you just want one TextView 或者如果您只想要一个TextView
try {
// "mm:ss" is just an example. define the input format yourself.
SimpleDateFormat format = new SimpleDateFormat("mm:ss", Locale.getDefault());
Date date = format.parse(timeTextView.getText().toString());
new CounterClass(date.getTime(), 1000, v).start();
} catch (ParseException e) {
// handle exception here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.