Как я могу использовать UpNavigation (кнопка «Назад») для перехода с одной страницы на соответствующую предыдущую страницу в Android eclipse

Мне нужно перейти с одной страницы на соответствующую предыдущую страницу (в моем приложении есть более одной предыдущей страницы для текущей страницы). Как я могу реализовать это с помощью кнопки Up Navigation/Back.


person Adarsh    schedule 14.08.2015    source источник


Ответы (4)


Документация по Android

Настройте родителя в файле манифеста, а затем в действии

@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)
person Vladimir Eremeev    schedule 14.08.2015

Вы должны использовать либо ActionBar, либо Панель инструментов.

Затем просто добавьте setDisplayHomeAsUpEnabled(true).

person Neeraj Kumar    schedule 14.08.2015
comment
Позволит ли это перейти к указанной предыдущей кнопке? Если да, не могли бы вы дать мне пример кода? - person Adarsh; 14.08.2015

В действиях по умолчанию возвращается к предыдущему с помощью кнопки «Назад», но не кнопки «Вверх». Если вы хотите, поместите в манифест:

android:parentActivityName=".MainActivity"

на Фрагментах:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.addToBackStack("Tag");
. . .
person Sheychan    schedule 14.08.2015
comment
Позволит ли это перейти к указанной предыдущей кнопке? Если да, не могли бы вы дать мне пример кода? - person Adarsh; 14.08.2015
comment
Я не понимаю, хм, может быть, опубликуйте коды, которые вы пробовали - person Sheychan; 14.08.2015

Вы можете указать родительские действия в манифесте

Начиная с 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 в вашу деятельность

Я надеюсь, что это помогает.

person Rajesh    schedule 14.08.2015