我目前正在開發一個Android應用程序。我想使用操作欄中的應用程序圖標導航到「主頁」活動。我在this頁面上閱讀了所有需要完成的工作,即添加一個onOptionsItemSelected
並查找編號android.R.id.home
。單擊應用程序圖標不會觸發onOptionsItemSelected()
這是我在我的活動中實施的代碼,我想要按應用程序圖標返回到HomeActivity
。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
然而,沒有任何反應。調試時,我可以看到點擊圖標根本不會觸發onOptionsItemSelected()
。我需要在某個地方對圖標做些什麼嗎?截至目前,這一切都默認情況下,僅這在AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
我只曾經試過響應添加到具有選項菜單的活動中的操作欄圖標。暫時添加一個選項菜單,看看是否改變了你看到的行爲。 – CommonsWare
還要考慮傳遞標誌['FLAG_ACTIVITY_SINGLE_TOP',避免重新啓動活動](http://stackoverflow.com/a/18658364/356895)。 – JJD
我的問題是我在'onOptionsItemSelected'我有'R.id.home'而不是'android.R.id.home'讓我瘋狂! – mbwasi