我正在使用许多异步任务。我有导航抽屉,那里有一个按钮。点击此按钮我将进入下一个活动。所以如何从导航抽屉停止asynck任务。 asyncktask .cancel(true),如何在导航抽屉中使用,因为主要活动中的asyncktask。或者如何在主活动中将asynck任务的对象导入到同一活动中的导航Drawer.im和调用导航抽屉的活动。帮助我进入很多天。有可能吗?
答案 0 :(得分:1)
在您的情况下LocalBraodcastManager
会很方便
像这样使用
在MainActivity
@Override
public void onCreate(Bundle savedInstanceState) {
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
new IntentFilter("custom-event-name"));
}
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//Cancel all your asyncTask here
}
};
@Override
protected void onDestroy() {
// Unregister since the activity is about to be closed.
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
super.onDestroy();
}
来自导航抽屉
Intent intent = new Intent("custom-event-name");
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
希望你能解决这个问题。