1

У меня есть следующая проблема. У меня есть панель действий (я использую панель sherlockactionbar) с 3 вкладками, каждая из которых отображает фрагмент при нажатии. В одном из фрагментов у меня есть список. То, что я хочу сделать, это то, что если элемент списка щелкнул по новому полноэкранному представлению без вкладки слайдов справа налево. Он будет выглядеть в whatsapp, когда вы нажимаете на чат и отображается чат.Переход от вкладки в панели действий к полноэкранному окну в android

Я попытался реализовать его, указав фрагмент для чата и используя транзакцию фрагмента. Но происходит то, что фрагмент чата скользит, но панель действий остается. Похоже, что фрагмент вкладки заменен.

Итак, мой вопрос следующий: есть ли у меня правильный подход, используя фрагмент для реализации вида чата. Или я должен использовать новую активность для чата?

Я новичок в java и android, поэтому я не знаю, имеет ли этот вопрос какой-либо смысл или если у меня отсутствует важный момент.

Заранее за вашу помощь.

ответ

0

Хорошо, в этом случае я не могу судить о правильном пути, но я знаю, что вы можете использовать фрагмент или действие для этой области. Это твой выбор. В вашем случае проблема с фрагментом заключается в том, что панель действий освобождается от активности отца, а не дочернего фрагмента. Если вы хотите, чтобы скрыть его, вы должны сделать что-то подобное (в фрагменте):

getActivity().getActionBar().hide(); 

Но таким образом другой фрагмент потерять панель действий, поскольку фрагмент является четыре, но бар действия только один. В этом случае в каждом фрагменте вы должны контролировать видимость действия бар и использование:

getActivity().getActionBar().show(); 

Если вы хотите, чтобы показать его.

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

+1

Спасибо за ваш ответ. Мне удалось получить желаемый макет: я использовал FragmentActivity, который отображает фрагменты и определяет метод добавления и отображения новых фрагментов (addFragment). Для фрагментов (фрагменты a, b и c), которые я хотел отобразить на трех вкладках, я определил новый «материнский фрагмент» с табустом. Этот табус загружает три фрагмента. Чтобы получить слайд, где весь табус заменяется новым макетом, я вызываю метод addFragment из метода onItemClick во фрагменте a. – Jeyhey

+0

Я думаю, что вы найдете наиболее масштабируемое решение. Удачи! –

Смежные вопросы