在我的應用程序中,我嘗試設置超時函數,我無法在單獨的類中調用處理程序方法。如何從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