2015-01-16 211 views
0

我想加入我的最後一項活動操作欄上的主頁圖標,這樣如果用戶在過去的活動中,他只需點擊最後一項活動的自定義主頁圖標按鈕並導航到主要活動。添加主頁按鈕操作欄的最後一項活動

我創建了一個新的菜單

<item 
     android:id="@+id/homeico" 
     app:showAsAction="always" 
     android:icon="@drawable/homeicon" 
     android:title="@string/home_title" /> 

,並添加下面的代碼到最後一個活動,但圖標是不存在的行動吧,在這裏我錯了嗎?

public boolean onCreateOptionsMenu(Menu menu) { 
     // TODO Auto-generated method stub 

    MenuInflater inflate = getMenuInflater(); 
    inflate.inflate(R.menu.homemenu, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 
+0

上面插入了哪個菜單文件的xml代碼? – EagleEye

+0

Android設備上的後退按鈕完全符合您在這種情況下描述的內容。 Android設備上需要後退按鈕,因此您無需在ActionBar中實施「主頁按鈕」。 –

+0

@EagleEye我創建了一個名爲home –

回答

2

請在的activityonCreateOptionsMenu(Menu menu)功能如下。

MenuItem item=menu.add("Title"); //your desired title here 
item.setIcon(R.drawable.icon); //your desired icon here 
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
item.setOnMenuItemClickListener(new OnMenuItemClickListener() { 

    @Override 
    public boolean onMenuItemClick(MenuItem item) { 
     // TODO Auto-generated method stub 
      return false; 
     } 
    }); 
} 
+0

感謝@EagleEye它的工作來實現,我真的很感激 –

0

嘗試通過更換

return super.onCreateOptionsMenu(menu); 

return true; 

編輯: 添加功能,以您的活動

public void restoreActionBar() { 
    ActionBar actionBar = getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 
    actionBar.setDisplayShowTitleEnabled(true); 
    actionBar.setTitle(mTitle); 
} 

和onCreateOptionsMenu

稱之爲
+0

我嘗試過,但它不工作 –

+0

編輯答案。如果沒有幫助,請發佈完整的menu.xml –

0
  1. 你需要重寫onOptionItemSelected()方法
  2. 得到Home鍵ID
  3. 火的意圖,你的第一個活動
  4. 完成您上次活動
+0

我知道這個過程,但問題是,我選擇的圖標沒有出現在操作欄 –

+0

@PUNEET:plz post ur menu.xml文件完整代碼 – kevz

0

如果你已經實現了你的活動操作欄中,那麼你應該能夠通過設置

看到主頁圖標
getActionBar().setHomeButtonEnabled(true); 

您應該然後覆蓋下面的方法來捕獲「家」的Click事件。

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     int id = item.getItemId(); 

     /** 
     * handle home button pressed 
     */ 
     if (id == android.R.id.home) { 

      //Start your main activity here 

      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
+0

我寫道但問題是,按鈕在操作欄 –