#android
#Android
Вопрос:
В моем приложении сначала загружается представление сетки. При выборе изображения отображается линейный макет (второй экран). На втором экране по нажатию кнопки выполняется некоторое действие. Теперь, что мне интересно знать, как я могу вернуться к первому экрану со второго экрана при нажатии этой кнопки?
Я пробовал MoodJournal.this.finish();
, но он переходит на главный экран.
Я тоже пробовал MoodJournal.this.setContentView(R.layout.main);
, но он отображает пустой экран.
Пожалуйста, помогите мне в этом
Спасибо
Панкадж
Комментарии:
1. из действия 1 —> действие 2, вы завершили свой первый экран / действие?
2. @zoombie спасибо за ответ на самом деле я создал макет вкладыша во время выполнения (при нажатии на элемент в виде сетки).
Ответ №1:
Панкадж, если я правильно понимаю, вы не выполняете разные действия для каждого экрана, что является рекомендуемым способом выполнения действий. Иными словами, для второго экрана недостаточно «создать линейный макет во время выполнения», вы должны написать новый класс, который расширяет Activity, и вызвать его с первого экрана, используя механизм Intent, и применить этот линейный макет к его onCreate() . Если вы это сделаете, стек экранов будет автоматически управляться за вас.
Существует множество руководств о том, как это сделать, но основная идея, которую вы хотите взять с собой, заключается в том, что В ОБЩЕМ СЛУЧАЕ (могут быть исключения) один экран = один класс, который расширяет активность.
Ответ №2:
Разве вы не вызывали finish () в предыдущих действиях?
Комментарии:
1. @LordTwaroogthanks за ответ на самом деле я создал макет вкладыша во время выполнения (при нажатии на элемент в виде таблицы).
2. Я бы рекомендовал поместить LinearLayout в новое действие, придерживаясь правила «новый экран = новое действие»
3. не могли бы вы, пожалуйста, прислать мне URL какого-нибудь примера, который я могу изучить?