如何从导航抽屉停止asyncktask或是否可能

时间:2017-02-13 07:46:08

标签: android android-asynctask navigation-drawer

我正在使用许多异步任务。我有导航抽屉,那里有一个按钮。点击此按钮我将进入下一个活动。所以如何从导航抽屉停止asynck任务。 asyncktask .cancel(true),如何在导航抽屉中使用,因为主要活动中的asyncktask。或者如何在主活动中将asynck任务的对象导入到同一活动中的导航Drawer.im和调用导航抽屉的活动。帮助我进入很多天。有可能吗?

1 个答案:

答案 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);

希望你能解决这个问题。