Действия или фрагменты в Android?

Я создаю приложение с панелью действий, и вкладки переходят на разные веб-страницы. Когда пользователь нажимает на другую вкладку, я хочу, чтобы веб-страница предыдущих вкладок оставалась в том же состоянии (т.е. не перезагружалась при повторном нажатии вкладки).

Какой лучший способ сделать это? Отдельная деятельность? Фрагменты? Несколько веб-просмотров в одном действии?

Спасибо

2 ответа

Решение

Используйте вкладки в панели действий, которая позволяет использовать фрагменты. При смене вкладок фрагменты будут заменены, а предыдущий фрагмент будет содержать его содержимое.

См. Панель действий - Добавление вкладок навигации | Разработчики Android

Я думаю, что вам нужно использовать одно веб-представление и хранить содержимое каждой страницы локально, например, в БД, а затем создать себе некоторую панель навигации и перезагрузить содержимое веб-просмотра с помощью панели навигации. Например, панель навигации может быть организована как LinearLayout с дочерними кнопками. Если вы используете этот способ - например, вы можете загрузить 10 веб-страниц дома с помощью своего Wi-Fi, а затем свернуть свое приложение и пойти на прогулку, и через некоторое время (даже если вы используете другие приложения) вы можете восстановить всю свою информацию из БД, но если вы используете только фрагменты во вкладках, вы можете потерять свои страницы из-за нехватки памяти.

Если вы используете фрагменты или атрибуты на вкладке - вы не можете быть уверены, что предыдущий контент будет сохранен (но вы все равно можете сделать это с помощью адаптера и tabhost (примеров достаточно, как использовать фрагменты + вкладки)

PS. это только мое мнение, и я еще не пробовал, но я думаю, что местный магазин - лучший способ решить вашу проблему.

Другие вопросы по тегам