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 и targetSdkVersion 21.

Solutions Collecting From Web of "SetHomeButtonEnabled не работает, но setDisplayHomeAsUpEnabled работает"

Из http://developer.android.com/reference/android/app/ActionBar.html#setHomeAsUpIndicator(int)

Вы можете использовать:

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

И это должно заменить стрелку назад на значок

Вы можете использовать это:

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