2013-11-25 71 views
0

按下應用程序的圖標不會改變活動,但我希望它返回到應用程序的MainActivity啓用操作欄的主頁按鈕

我做了我的應用程序的圖標出現在動作欄左側通過執行以下操作:

ActionBar actionBar = getActionBar();         
actionBar.setHomeButtonEnabled(true);         
actionBar.setDisplayShowHomeEnabled(true); 

我假設我應該在有關活動的onOptionsItemSelected()方法定義了一些功能。當按下應用程序的圖標並調用onOptionsItemSelected()時,我得到了MenuItem ID的日誌,但顯然我無法將該ID硬編碼到switch語句中。我該怎麼辦?

回答

1

應設置android:parentActivityName在清單文件的活動。

android:parentActivityName="com.example.myfirstapp.MainActivity" 

您還需要處理click在onOptionsItemSelectedandroid.R.id.home的ID:

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    // Respond to the action bar's Up/Home button 
    case android.R.id.home: 
     NavUtils.navigateUpFromSameTask(this); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

查看更多關於Android developer website

+1

謝謝你 - 這或多或少是正確的。在鏈接頁面演示時,您仍然需要處理onOptionsItemSelected()方法中的應用程序圖標按鈕。 – oadams

+0

謝謝,我已添加到答案,使其完成。 – Szymon

0

這是我會做它

 public boolean onOptionsItemSelected(MenuItem item) { 
     if(item.getItemId() == R.id.HomeButtonId){ 
        //Return Home 
        } 
       }