Intereting Posts
Как создать пользовательский PopupMenu в Android Как я могу сказать, что мой босс, работающий с Xamarin, не сделает его быстрее Ошибка GINGERBREAD не может быть разрешена или не является полем Алгоритм шума компаса Android Kitkat, ошибка при загрузке изображения Как обнаружить щелчок на объекте в OpenGL ES в приложении Android? Уменьшить ширину, высоту и размер текста в меню Мне нужна блокировка слежения в моем трансляционном трансляторе, если я не запускаю сервис или активность? FindViewById () возвращает null – попробовал ВСЕ Как подключить приложение Android к удаленной базе данных? Каковы форматы файлов в каталоге кеша Android WebView (data_1, f_000001 и т. Д.)? Не получить большой палец с жанрами – Универсальный музыкальный проигрыватель Как отличить, если данный Контекстный объект является Контекстом Деятельности или Сервиса? Android: что означает «Libcore_io_Posix-throwErrnoException» Datepicker: как всплывать datepicker при нажатии на кнопку и хранить значение в переменной

Как использовать Master / Detail Flow вместе с вкладками на Android

Я хочу достичь следующего макета для моего приложения Android (верхняя компоновка планшета, более низкая компоновка для смартфонов), включая возможность прокрутки между подэлементами: Макет приложения на планшете (сверху) и на смартфоне (ниже)

Таким образом, я создал операцию Master / Detail-Flow с Eclipse, которая отлично работает. Для вкладок я взглянул на образцы поддержки-библиотеки ( <sdk>/extras/android/support/v4/samples/ ), где дается красивый пример (FragmentTabsPager.java), который расширяет класс FragmentActivity и Использует ViewPager и TabHost -Widget.

Моя идея состояла в том, чтобы объединить оба примера в одно приложение, поэтому вместо использования TabPage как Activity я хочу использовать его как Фрагмент. На смартфоне это работает хорошо, но на планшете он работает только один раз (это означает, что при первом запуске содержимое загружается правильно, но как только я нажимаю на другой элемент в левом списке, больше содержимого не загружается ). Точнее: вкладки загружаются и имеют правильную метку, но содержимого, которое должно отображаться в области содержимого вкладки, нет, хотя вы можете прокручивать между вкладками, как если бы содержимое было там.

Мои вопросы:

  • Является ли этот подход значимым (чтобы объединить мастер / детали с вкладками)? Или я должен использовать совершенно другой подход?
  • Вы знаете, как исправить проблему, что контент не загружается должным образом?

Чтобы было легче видеть, я создал демо-приложение с нуля именно с этой идеей, которую можно загрузить с https://github.com/apacha/MasterDetail_And_Tabs .

Связанные записи в Stackoverflow, которые не исправили проблему: ViewPager PagerAdapter не обновляет View ,

Edit1 : Я узнал о http://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html и нашел Android FragmentTabHost – не полностью запечен? , С этими подсказками мне удалось почти запустить его, но теперь я могу выбирать между рабочей версией, которая не поддерживает поддержку swipe (если я добавлю Tabs непосредственно в tabHost:

 FragmentTabHost mTabHost = new FragmentTabHost(); // Add directly to tab-host mTabHost.addTab(mTabHost.newTabSpec("simple1").setIndicator("Simple1"), CountingFragment.class, b); 

Из-за ошибки, если я добавлю его и использую FragmentPagerAdapter

 FragmentTabHost mTabHost = new FragmentTabHost(); ViewPager mViewPager = (ViewPager) rootView.findViewById(R.id.pager); TabsAdapter mTabsAdapter = new TabsAdapter(getActivity(), mTabHost, mViewPager); // Add to tab-host-adapter mTabsAdapter.addTab(mTabHost.newTabSpec("simple1").setIndicator("Simple1"), CountingFragment.class, b); 

Я внес изменения в репозиторий, упомянутый выше.

Solutions Collecting From Web of "Как использовать Master / Detail Flow вместе с вкладками на Android"

Я реализовал простой проект master-slave здесь https://github.com/ycagri/MasterSlave .

Я сохранил это в публичном репо. Если вы хотите играть и добавить еще некоторые функции, не стесняйтесь развиваться. SavedInstanceState может быть реализовано для изменений ориентации.

В принципе, проект имеет два макета для MainActivity внутри макетов и макетов sw600dp-land. В планшетном ландшафте фрагменты определяются внутри макета. В противном случае фрагменты добавляются с помощью диспетчера фрагментов. Если вы можете найти рабский фрагмент из макета, вы используете планшет с ландшафтным режимом.

Надеюсь это поможет…