2015-05-26 101 views
11

我想在應用程序中的所有活動中添加應用程序圖標並點擊圖標,我想導航到我的應用程序的主頁。SetHomeButtonEnabled無法正常工作,但setDisplayHomeAsUpEnabled正在工作

我用下面的代碼中的onCreate

ActionBar actionBar = getSupportActionBar(); 
actionBar.setLogo(R.drawable.ic_launcher); 
actionBar.setDisplayUseLogoEnabled(true); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setHomeButtonEnabled(true); 

試過現在,應用程序圖標在動作條來了,但單擊它,onOptionsItemSelected是沒有得到調用。但是,如果使用actionBar.setDisplayHomeAsUpEnabled(true)而不是actionBar.setHomeButtonEnabled(true),則onOptionsItemSelected將使用item.getItemId()進行調用。下面是代碼片段

ActionBar actionBar = getSupportActionBar(); 
actionBar.setLogo(R.drawable.ic_launcher); 
actionBar.setDisplayUseLogoEnabled(true); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setDisplayHomeAsUpEnabled(true); 

的文件說,同時使用setDisplayHomeAsUpEnabled和setHomeButtonEnabled,onOptionsItemSelected將被調用,唯一不同的是向上的箭頭。我不需要操作欄中的向上箭頭,我只需要應用程序圖標。如何做到這一點?

我的minSdkVersion 14和21 targetSdkVersion

回答

2

您可以使用此:

Toolbar toolbar = (Toolbar) findViewById(R.id.myToolbar); 
toolbar.setNavigationIcon(R.drawable.ic_back); 
setSupportActionBar(toolbar); 
toolbar.setNavigationOnClickListener(new View.OnClickListener(){ 
    @Override 
    public void onClick(View view){ 
    finish(); 
    } 
}); 
相關問題