Кнопка возврата в ActionBar скрывается при просмотре списка действий, запускаемых фрагментами на вкладках

#android #listview #android-listview #android-actionbar #back-button

#Android #просмотр списка #android-listview #android-actionbar #кнопка возврата

Вопрос:

У меня есть 3 вложенных действия. Первая содержит 3 фрагмента, внутри каждого из которых находится кнопка, которая запускает второе действие. Во втором действии у меня есть ListView. Когда пользователь нажимает на элемент в ListView, запускается третье действие.

Моя проблема в том, что во вторых действиях на панели действий нет кнопки возврата.

Вызвана ли проблема активностью, запущенной из фрагмента? Я понятия не имею, что вызывает эту проблему.

Мое первое действие — ActionBarActivity, и я использую FragmentPagerAdapter.

Пожалуйста, скажите мне, какие части кода манифеста я должен поместить сюда для рассмотрения. Заранее спасибо.

(пожалуйста, обратите внимание, что я не хочу программно решать это. Мне нужно знать, что вызывает проблему)

Заранее большое спасибо.

Ответ №1:

Чтобы иметь кнопку «Вверх» на панели действий, вам нужно настроить свои действия так, чтобы у них было родительское действие, подобное этому:

 <activity
    android:name=".SecondActivity"
    android:label="@string/second_activity"
    android:parentActivityName=".MainActivity">

    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="MainActivity" />
    ...
</activity
  

Пожалуйста, покажите ваш файл манифеста, если это не работает таким образом.

Комментарии:

1. Спасибо. Это именно то, чего я не знал и искал. Хотя еще один вопрос. Есть ли проблема в том, что два действия имеют одинаковое значение «android: name»?

2. Это возможно, но зачем вам это нужно?

3. Я этого не хочу. Это просто произошло из-за моего недостатка знаний для manifest. Я скопировал ваш код в моем, и там уже было одно точно такое имя. И я не знал, какое другое имя я мог бы использовать. Вот и все. Если я могу использовать любое другое имя, я это сделаю.

4. android:name указывает действие, к которому будут применены следующие настройки. Вы должны добавить android:parentActivityName=".YourParentActivity" и <meta-data.. /> к активности, которую вы хотите иметь, кнопку up .

5. Я имел в виду android: name в метаданных. не android: parentActivityName. Первое, похоже, бесполезно. Что это делает на самом деле?

Ответ №2:

Вы уверены, что добавили

 setDisplayHomeAsUpEnabled(boolean);
  

в onCreate() вашей активности?