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

Я использую навигационный ящик в основном действии со многими фрагментами.

Например: у меня есть фрагмент 1 для презентации и фрагмент 2, который содержит listView. Если я щелкну элемент в listView, он запустит другое действие. Когда я нажму кнопку «Назад» на панели действий, я хочу перейти к основному фрагменту действия2

Но используется фрагмент1

Как я могу использовать второй фрагмент

Спасибо за ваши ответы


person user3534088    schedule 15.04.2014    source источник
comment
Можешь поставить свой код?   -  person CMPS    schedule 15.04.2014


Ответы (2)


В вашем втором действии onCreate поместите (хотя я думаю, что у вас уже есть):

getActionBar().setDisplayHomeAsUpEnabled(true);

и внутри обработки параметров второго действия (я думаю, вы тоже это сделали):

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    switch (item.getItemId()) 
    {
    case android.R.id.home:
            //perhaps use intent if needed but i'm sure there's a specific intent action for up you can use to handle
            finish();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

и внутри обработчика намерений onCreate вашей первой активности, например:

if(Intent.ACTION_VIEW.equals(action))

вы устанавливаете текущую страницу viewpager с помощью viewpager.setCurrentItem(position). Если вы хотите изменить страницу для разных элементов, вы можете использовать намерение.putExtra() во втором действии, а затем получить его в своем первом действии.

person Orphamiel    schedule 15.04.2014
comment
что такое действие, которое прошло в условии if. - person Milan Gajera; 11.02.2016

Я добавил код ниже в моем втором действии:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
onBackPressed();
        return true;
    }

Это работает, как я ожидал

это чистое решение?

Спасибо

person user3534088    schedule 15.04.2014
comment
Нет. Это означает, что использование любой из ваших опций будет работать только с onBackPressed. Поместите его в корпус переключателя, как это сделал я, если у вас нет других вариантов. - person Orphamiel; 16.04.2014