簡體   English   中英

單擊應用程序圖標不會觸發onOptionsItemSelected()

[英]Clicking app icon doesn't trigger onOptionsItemSelected()

我目前正在開發一款Android應用。 我想使用操作欄中的應用程序圖標導航到“主頁”活動。 我在這個頁面上看到,所有需要做的就是添加一個onOptionsItemSelected並查找id android.R.id.home

這是我在我的活動中實現的代碼,我想按下應用程序圖標返回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" >

對於目標API級別14以上的軟件包,您需要通過調用setHomeButtonEnabled()來啟用主頁按鈕

在onCreate中,添加以下內容:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    getActionBar().setHomeButtonEnabled(true);
}

如果您使用Android新支持 - 操作欄( AppCompat ),則需要進行兩次調用。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    getActionBar().setHomeButtonEnabled(true);
}
getSupportActionBar().setHomeButtonEnabled(true);

我不知道我們是否有同樣的問題。

但是,我是在解決這個問題,現在已經解決了..

你加了嗎?

case android.R.id.home:
    Intent intent = new Intent(this, HomeActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    return true;

在HomeActivity? 這是假的..

你應該把這些代碼放在你的secondActivity上..因為你的homeActivity上的home鍵,而不是HomeActivity

case android.R.id.home:
     NavUtils.navigateUpFromSameTask(this);
     true;

希望這能幫助你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM