在我的应用程序中,我尝试设置超时函数,我无法在单独的类中调用处理程序方法。如何从Android中的独立类调用处理程序?
我超时类
public class Timeout_function {
private Handler mHandler;
Activity activity;
public Timeout_function(Activity activity,Handler mHandler) {
super();
this.activity = activity;
this.mHandler = mHandler;
}
Runnable myTask = new Runnable() {
@Override
public void run() {
Toast.makeText(activity, "Test", 1000).show();
mHandler.postDelayed(this, 1000);
}
};
// just as an example, we'll start the task when the activity is started
public void onStart() {
mHandler.postDelayed(myTask, 1000);
}
// at some point in your program you will probably want the handler to stop
// (in onStop is a good place)
public void onStop() {
mHandler.removeCallbacks(myTask);
}
}
主类 在主类中我打电话这样的方法,但它显示了在运行时错误,
Timeout_function timeout = new Timeout_function(this, mHandler);
timeout.onStart();
如何调用主类中的方法。任何人都知道请帮我解决这个问题。
你是什么意思的“处理函数”,因为你的'mHandler'是一个对象。另外,你为什么认为你不能打电话?另外,你的架构是什么?代码调用哪个应该与'Handler'交互? – 2013-04-30 07:43:39
@ClassStacker如何开始与处理程序的交互。 – Yugesh 2013-04-30 07:47:12
我相信你已经从一个Activity中提取了这段代码,其中'onStart'将作为'Activity'生命周期的一部分被调用。它没有这样做,所以现在你必须自己调用onStart。 – 2013-04-30 07:54:31