2015-05-26 14 views
11

Uygulamamdaki tüm etkinlikler için uygulama çubuğunu uygulama çubuğuna eklemek istiyorum ve simgesine tıklayın, Uygulamamın ana sayfasına gitmek istiyorum.SetHomeButtonEnabled çalışmıyor ancak setDisplayHomeAsUpEnabled çalışıyor

Ben şimdi uygulama simgesi İşlem Çubuğu geliyor, ama tıklayarak üzerinde, onOptionsItemSelected denilen almıyor

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

onCreate

aşağıdaki kodla çalıştı. Ancak actionBar.setHomeButtonEnabled (true) yerine actionBar.setDisplayHomeAsUpEnabled (true) kullanırsanız, onOptionsItemSelected öğesi item.getItemId() ile çağrılıyor. Aşağıda kod belgeleri setDisplayHomeAsUpEnabled ve setHomeButtonEnabled ikisini de kullanarak diyor

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

pasajı edilir onOptionsItemSelected adı verilecek ve tek fark yukarı oktur. Ben eylem çubuğunda yukarı ok ihtiyacım yok, sadece uygulama simgesine ihtiyacım var. Bu nasıl yapılabilir?

actionBar.setHomeAsUpIndicator(R.drawable.ic_launcher); 
actionBar.setDisplayShowHomeAsUpEnabled(true); 

ve

cevap

14

kullanabilirsiniz :

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(); 
    } 
}); 
+0

Teşekkür ederim çok ... Bu ne istediğim oldu –

+0

herhangi bir fikir neden '' 'setHomeButtonEnabled'' çalışmıyor? –

+0

@JiechaoWang Kullanım durumunuz nedir? –

İlgili konular