Android: Crouton + Состояние активности
Я использую Crouton im мой проект. В приложении у меня мало занятий. В под действиях я хочу выполнить некоторые операции после завершения процесса, я делаю перенаправление на основное действие и отображаю сообщение Crouton о результате в предыдущем действии. Но у меня есть проблемы... Crouton быстро закрывается после перенаправления. Я нашел какое-то решение:
1) Создайте намерение для вспомогательного действия 2) закройте основное действие 3) запустите вспомогательное действие
поработай немного...
4) Создать намерение для основной деятельности 5) Добавить дополнительную информацию об изменениях 5) Открыть основную деятельность
и в основной деятельности, в onCreate, я пытаюсь узнать больше об изменениях. Я попытался получить информацию из extra в onStart, onResume.. но все еще то же самое... Сообщение о закрытии быстро, быстрее, чем нужно.
Что я делаю не так? Может быть, мой алгоритм с отображением Crouton неправильный.. Пожалуйста, поправьте меня.
Большое спасибо!
2 ответа
Я нашел решение своего вопроса:
@Override
protected void onResume() {
super.onResume();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
displayEvents();
}
}, 500);
}
private void displayEvents(){
//Проверяю какое уведомление необходимо показать
if(intent.hasExtra("event")){
if(intent.hasExtra("event") && intent.getStringExtra("eventType").equals("confirm")) {
Crouton.makeText(MainActivity.this, intent.getStringExtra("event"), Style.CONFIRM).show();
getIntent().removeExtra("event");
getIntent().removeExtra("eventType");
}
}
}
сделанный!
У вас есть два варианта:
1) Вы можете открыть второе действие с помощью startActivityForResult(), а затем обработать результат в MainActivity, чтобы показать сухарик. В документации по Android вы можете найти для него хороший учебник: Android-разработчик После завершения второго упражнения вы обрабатываете код результата и показывает правильный текст.
2) Вы можете отправить его, как вы упомянули в Extra, с помощью startActivity() и передать его в намерение: начать действие
Надеюсь, поможет!