如何在android中暂停倒计时?
在我的应用程序中,我保留了暂停按钮和开始按钮默认情况下,我将计时器设置为50秒。当计时器运行时,我为每个按钮编写了onclick操作代码……即,单击“暂停”按钮时,时间暂停,再次单击“开始”按钮时,时间再次从50秒开始但它应该从暂停的时间开始。我该怎么做 请帮帮我……提前谢谢 我的代码:如何在android中暂停倒计时?,android,Android,在我的应用程序中,我保留了暂停按钮和开始按钮默认情况下,我将计时器设置为50秒。当计时器运行时,我为每个按钮编写了onclick操作代码……即,单击“暂停”按钮时,时间暂停,再次单击“开始”按钮时,时间再次从50秒开始但它应该从暂停的时间开始。我该怎么做 请帮帮我……提前谢谢 我的代码: long timervalue = 50000; btn13 = (ImageView) findViewById(R.id.pause); btn14 = (ImageView) findViewById(
long timervalue = 50000;
btn13 = (ImageView) findViewById(R.id.pause);
btn14 = (ImageView) findViewById(R.id.resume);
final CountDownTimer Counter1 = new CountDownTimer(timervalue, 1000) {
public void onTick(long millisUntilFinished) {
time.setText(formatTime(millisUntilFinished));
btn13.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Counter1.cancel();
}
});
btn14.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Counter1.start();
}
});
}
public void onFinish()
{
Counter1.cancel();
}
};
public String formatTime(long millis) {
String output = "00:00";
long seconds = millis / 1000;
// long minutes = seconds / 60;
seconds = seconds % 60;
// minutes = minutes % 60;
String secondsD = String.valueOf(seconds);
// String minutesD = String.valueOf(minutes);
if (seconds < 10)
secondsD = "0" + seconds;
// if (minutes < 10)
// minutesD = "0" + minutes;
output = secondsD;
return output;
}
long-timervalue=50000;
btn13=(图像视图)findViewById(R.id.pause);
btn14=(ImageView)findViewById(R.id.resume);
最终倒计时计数器1=新倒计时(timervalue,1000){
公共void onTick(长毫秒未完成){
time.setText(formatTime(millisuntillfinished));
btn13.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{
计数器1.取消();
}
});
btn14.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{
计数器1.start();
}
});
}
公共无效onFinish()
{
计数器1.取消();
}
};
公共字符串格式化时间(长毫秒){
字符串输出=“00:00”;
长秒=毫秒/1000;
//长分钟=秒/60;
秒=秒%60;
//分钟=分钟%60;
String secondsD=String.valueOf(秒);
//String minutesD=String.valueOf(分钟);
如果(秒<10)
secondsD=“0”+秒;
//如果(分钟<10)
//分钟数d=“0”+分钟;
输出=秒SD;
返回输出;
}
不幸的是,您不能暂停倒计时,但还有其他方法可以完成您想做的事情
试试这个:
public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
private CountDownTimer ct;
private long ts = 30;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView mTextField = (TextView) this.findViewById(R.id.txt);
final Button bt = (Button) this.findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(bt.getText().toString().equals("Start")){
bt.setText("Stop");
ct = new CountDownTimer(ts*1000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
ts = millisUntilFinished/1000;
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
}
else{
bt.setText("Start");
ct.cancel();}
}
});
}
}
我是WP7开发人员,但这肯定会帮助您发布代码片段,因此,我们可以查看它,并根据您的代码向您提出一些建议。>请参考此链接嗨,我编辑了我的代码。.请浏览一次,帮助我完成该任务…将非常感谢嗨,感谢您的回复。.我尝试了您的代码,但在ct行显示错误。取消();。。。。我还编辑了我的代码…请检查一下。。。