Я использую много Async Task.I есть ящик навигации и там одна кнопка есть. при нажатии этой кнопки я перейду к следующему действию. Также как остановить задачу asynck из Navigation Drawer. asyncktask .cancel (true), как использовать в навигационном ящике, потому что asyncktask в main activity.or как получить объект задачи asynck из mainactivity в Navigation Drawer.im в той же активности и по активности, вызывающей навигацию drawer.help me im, которая работает в много дней. это возможно или нет?Как остановить asyncktask из Navigation Drawer или это возможно
ответ
В вашей ситуации 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);
Надеетесь, что вы можете решить проблему с это.
tnx я попробую i will upvote plz upvode мой вопрос также –
почему тай дал мне downvote –
у меня есть 1 вопрос i m в ящике навигации –
Я хочу остановить все asyncktask mainactivity от naviationdrawer перед тем, как перейти к следующему действию. –
Я бы сказал, вызовите asyncTask.cancel (true) из обработчика onClick вашего навигационного элемента. Или, если это меню из onMenuItemSelected –
, но но Asyncktast im, вызывающий в Mainactivity –