Мне нужно перейти с одной страницы на соответствующую предыдущую страницу (в моем приложении есть более одной предыдущей страницы для текущей страницы). Как я могу реализовать это с помощью кнопки Up Navigation/Back.
Как я могу использовать UpNavigation (кнопка «Назад») для перехода с одной страницы на соответствующую предыдущую страницу в Android eclipse
Ответы (4)
Настройте родителя в файле манифеста, а затем в действии
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
или Вы можете позвонить finish()
вместо
NavUtils.navigateUpFromSameTask(this)
Вы должны использовать либо ActionBar, либо Панель инструментов.
Затем просто добавьте setDisplayHomeAsUpEnabled(true).
В действиях по умолчанию возвращается к предыдущему с помощью кнопки «Назад», но не кнопки «Вверх». Если вы хотите, поместите в манифест:
android:parentActivityName=".MainActivity"
на Фрагментах:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.addToBackStack("Tag");
. . .
Вы можете указать родительские действия в манифесте
Начиная с Android 4.1 (уровень API 16), вы можете объявить логического родителя каждого действия, указав атрибут android:parentActivityName в элементе.
Если ваше приложение поддерживает Android 4.0 и более ранние версии, включите библиотеку поддержки в свое приложение и добавьте элемент в файл . Затем укажите родительское действие как значение для android.support.PARENT_ACTIVITY, соответствующее атрибуту android:parentActivityName.
Например:
<application ... >
...
<!-- The main/home activity (it has no parent activity) -->
<activity
android:name="com.example.myfirstapp.MainActivity" ...>
...
</activity>
<!-- A child of the main activity -->
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- The meta-data element is needed for versions lower than 4.1 -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
</application>
Если родительское действие объявлено таким образом, вы можете использовать API-интерфейсы NavUtils для синтеза нового обратного стека, определяя, какое действие является подходящим родительским для каждого действия.
Вы можете обратиться к Как реализовать кнопку возврата Android ActionBar? для внедрения UpNavigation в вашу деятельность
Я надеюсь, что это помогает.