2015-11-19 23 views
1

我有一個應用程序與片段之間的標籤導航。其中一個片段可以選擇打開新的活動。當我使用此活動中的內置設備後退按鈕時,它會返回到選中的前一個片段選項卡的選項卡式活動。回到上一個活動和片段從一個額外的後退按鈕

我以添加一個後退按鈕在我的應用程序活動的操作欄:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

和設置清單中的父活動,但此按鈕始終導航回的第一個選項卡父母的活動,而不是以前可見的。

如何使此後退按鈕與設備後退按鈕的操作方式相同?

回答

4

做這樣的事情:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 
    switch(id) { 
     case android.R.id.home: 
      onBackPressed(); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

onBackPressed()方法:

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
} 
+0

作品完美,感謝 – Carasel

0

處理回事件以這種方式

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 
    switch(id) { 
     case android.R.id.home: 
      onBackPressed(); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

在回壓法

@Override 
    public void onBackPressed() { 
    Intent intent = new Intent(SecondActivity.this,TabbedActivity.class); 
    intent.putExtra("IsBack",true); 
    startActivity(intent); 
} 
在選項卡式活動

protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_tabs); 

      if(getIntent().getExtras().getBoolean("IsBack")){ 
      //navigate to your desire fragment 
     } 
    } 
相關問題