Android 如何使多个活动共用倒计时?
我有活动A,B,C,D。。。我在活动a中创建了一个倒计时程序……我想在活动B、C、D中调用它的方法。。。。我是如何做到的…我试着使计时器变量为静态的,但它有一些问题,不能正常工作…而且这不是一个好的编程实践…那么有没有其他方法可以做到这一点Android 如何使多个活动共用倒计时?,android,Android,我有活动A,B,C,D。。。我在活动a中创建了一个倒计时程序……我想在活动B、C、D中调用它的方法。。。。我是如何做到的…我试着使计时器变量为静态的,但它有一些问题,不能正常工作…而且这不是一个好的编程实践…那么有没有其他方法可以做到这一点 public class CountTime extends Activity { static MyCount count; Button clickBtn; TextView tv; @Override pub
public class CountTime extends Activity {
static MyCount count;
Button clickBtn;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.customanim); // 5000 is
// the
// starting
// number
// (in
// milliseconds)
// 1000 is the number to count down each time (in milliseconds)
count = new MyCount(5000, 1000);
count.start();
tv = (TextView) findViewById(com.example.sample.R.id.textView1);
clickBtn = (Button) findViewById(R.id.button1);
clickBtn.setText("Click me");
clickBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent my = new Intent(getApplicationContext(),
MainActivity.class);
//my.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(my);
}
});
}
@Override
public void onUserInteraction() {
// TODO Auto-generated method stub
super.onUserInteraction();
//count.start();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
count.cancel();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
count.start();
}
// countdowntimer is an abstract class, so extend it and fill in methods
public class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
tv.setText("done!");
Toast.makeText(getApplicationContext(), "Finsihed", Toast.LENGTH_LONG).show();
}
@Override
public void onTick(long millisUntilFinished) {
tv.setText("Left: " + millisUntilFinished / 1000);
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
}
最好的方法可能是使用计时器创建一个Singleton类 如果你不知道什么是单身,你可以在以下资料中找到它:
为什么不将MyCount创建为单独的类?在扩展服务的活动中编写计时器代码。。在活动A中启动服务。我无法将其创建为新类,因为…我想在onfinish方法中启动新活动。。。。