2015-03-03 3 views
0

Я создаю приложение Android с тремя вкладками, используя PageSlidingtabStrip в качестве библиотеки для создания прокрутки. И у нее есть три фрагмента. Каждый фрагмент имеет вид списка. Когда элемент списка щелкнув по нему, открывается действие и отображается информация.Активность Android для передачи контроля фрагмента

Проблема заключается в том, как я могу вернуться к фрагменту на главном экране с помощью кнопки назад в ActionBar в деятельности

И как я могу пойти в соответствующий фрагмент (Tab)

+0

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

+0

, нажимая кнопку «Назад» на устройстве. Это так просто, если вы не переопределили obBackPressed. –

+0

Извините, здесь я упоминаю кнопку возврата в панели действий, а не кнопку возврата устройства – Aniruth

ответ

1

Попробуйте что-то вроде это:

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    super.onBackPressed(); 
    Intent intent = new Intent(YourCurrentClass.this , ClassThatYouWantToGo.class); 
    startActivity(intent) 
} 

Или на самом деле, как сказал @TommyTopas, вы можете просто Override onBackPressed и поставить this.finish();.

EDIT

Как я понял, вы хотите использовать кнопку на AcitonBar, то вы TOD о чем-то вроде этого: Сначала установите HomeButton позволило делать:

getActionBar().setDisplayHomeAsUpEnabled(true); Тогда Override onOptionsItemSelected

@Override 
      public boolean onOptionsItemSelected(MenuItem item) { 
        switch (item.getItemId()) { 
        case android.R.id.home: 

        // or onBackPressed(); 
        this.finish() 

        } 
        return true; 
      } 
+0

здесь вы запускаете новое действие, когда пользователь нажимает кнопку «Назад» ... это ужасно –

+0

нет необходимости переопределять 'onBackPressed'! по умолчанию он закроет активность –

1

Как я понимаю, когда вы вернетесь к «Tab» Activity вы хотите отобразить те же вкладки в ш щелкнув элемент списка. Что вы можете сделать, когда щелкнуть элемент списка на любой вкладке, сохраните номер вкладки в onSavedInstanceState(), а при восстановлении Activity установите предварительно выбранную вкладку (если она была выбрана ранее). Вы получите savedInstanceState, который вы сохранили в onSavedInstanceState(), в onCreate() тех же Activity.

+0

, не могли бы вы дать мне образец для этого? – Aniruth

+0

В принципе вам нужно научиться сохранять состояние экземпляра 'Activity' и' Fragment' ... для этого есть несколько учебников, см. [ здесь] (http://www.intertech.com/Blog/saving-and-retrieving-android-instance-state-part-1/) и [здесь] (http://www.intertech.com/Blog/saving и-получение-андроид-экземпляр-состояние-часть-2 /). –

+0

Спасибо, я узнаю эти вещи – Aniruth

1

Вы можете предоставить Up navigation написав getActionBar().setDisplayHomeAsUpEnabled(true);, а затем в методе onOptionsItemSelected в деятельности, если идентификатор элемента не android.R.id.home вызова метода своей деятельности в onBackPressed(); который закроет вашу текущую деятельность и вернуться в свой фрагмент

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