如何在android中从单独的类调用处理程序?

如何在android中从单独的类调用处理程序?,android,android-handler,Android,Android Handler,在我的应用程序中,我试图设置一个超时函数,但无法在单独的类中调用处理程序方法 我的超时类 public class Timeout_function { private Handler mHandler; Activity activity; public Timeout_function(Activity activity,Handler mHandler) { super(); this.activity = activity; this.mHandler =

在我的应用程序中,我试图设置一个超时函数,但无法在单独的类中调用处理程序方法

我的超时类

 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);
}
}
主类 在main类中,我以这种方式调用该方法,但它在运行时显示错误

Timeout_function timeout = new Timeout_function(this, mHandler);
    timeout.onStart();

如何在main类中调用该方法。有人知道吗请帮我解决这个问题。

不要创建单独的类,为什么不使用

我会坚持让您通过调用
startService(intent)在服务的
onStartCommand()
中使用服务并启动可运行的处理程序

您可以通过将Runnable using处理程序放置在服务的
ondestory()
方法中并通过
stopService(intent)
调用来停止它


这就是我所做的,它就像一个符咒

你所说的“处理函数”是什么意思,因为你的
mHandler
是一个对象。还有,为什么你认为你不能打电话?另外,你的架构是什么?调用的代码应该在哪里与
处理程序
交互?@ClassStacker如何启动与处理程序的交互。我相信您已经从活动中提取了此代码,其中
启动
将作为
活动
生命周期的一部分为您调用。它没有这样做,所以现在你必须自己调用
onStart
。我对这个概念很陌生,就是如何在我的应用程序中实现服务。请用谷歌搜索一下,你会发现很多在Android中创建服务的例子。