Intereting Posts
Android RatingBar показывает более 5 звезд Open NFC Simulator не работает для эмулятора Android Что означает «указанный для свойства« resDir »не существует». Список разрешений Android для обычных разрешений и опасных разрешений в API 23? Пользовательский вид onMeasure: как получить ширину по высоте Как создать простой разделитель в новом навигационном экране? Можем ли мы иметь несколько приложений в одном проекте Android Studio? Настройка Android: windowBackground для @null делает прокрутку мазать? Почему Android O не работает с «не принадлежит этому FragmentManager!» Android: как я могу напечатать переменную на консоли eclipse Geting "уже сосредоточено, игнорируя усиление фокуса: com.android.internal.view.IInputMethodClient $ Stub $ Proxy" в Android Как уничтожить старые фрагменты в FragmentStatePagerAdapter Я хочу, чтобы приложение для Android работало только в портретном режиме? Почему RxJava с доработкой на Android doOnError () не работает, но Subscriber onError делает AutoCompleteTextView не отображает результат даже при обновлении ArrayAdapter

Экран OnClick Action Bar для кнопки «Домой»

Как я могу реализовать пользовательский onClickListener для кнопки «Домой» onClickListener действий?

Я уже сделал getSupportActionBar().setDisplayHomeAsUpEnabled(true); И теперь я хочу перенаправить пользователя на определенную активность в случае нажатия кнопки «Домой».

Я попробовал:

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: item.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { Intent i = new Intent(); i.setClass(BestemmingActivity.this, StartActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true; } }); default: return super.onOptionsItemSelected(item); } } 

Но он никогда не входит в onMenuItemClick .

В принципе, это делается так же, как в этой ссылке, но все же он не входит в слушателя.

Solutions Collecting From Web of "Экран OnClick Action Bar для кнопки «Домой»"

Я использую actionBarSherlock после того, как мы установили supportActionBar.setHomeButtonEnabled(true);
Мы можем переопределить метод onMenuItemSelected:

 @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { int itemId = item.getItemId(); switch (itemId) { case android.R.id.home: toggle(); // Toast.makeText(this, "home pressed", Toast.LENGTH_LONG).show(); break; } return true; } 

Я надеюсь, что эта работа для вас ~~~ удачи

Если кому-то еще нужно решение

 @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { onBackPressed(); return true; } return super.onOptionsItemSelected(item); } 

Если мы используем систему, данную панель действий, следующий код работает нормально

 getActionBar().setHomeButtonEnabled(true); @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { int itemId = item.getItemId(); switch (itemId) { case android.R.id.home: //do your action here. break; } return true; } 

Исправлено: не нужно использовать setOnMenuItemClickListener . Просто нажимая кнопку, она создает и запускает активность через намерение.

Большое спасибо за вашу помощь!

Вам нужно явно включить домашнее действие, если оно запущено на ICS. Из документов :

Примечание. Если вы используете значок для перехода к домашней активности, будьте осторожны, начиная с Android 4.0 (уровень API 14), вы должны явно включить значок в качестве элемента действия, вызвав setHomeButtonEnabled (true) (в предыдущих версиях Значок по умолчанию был включен как элемент действия).

Лучший способ настроить панель действий onClickListener – onSupportNavigateUp ()

Этот код будет полезной ссылкой для помощи в коде

Ответы в половине того, что происходит. Если onOptionsItemSelected не управляет кнопкой homeAsUp , когда родительская активность в системе manifest.xml переходит к родительской активности. Используйте это в теге активности:

 <activity ... > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.activities.MainActivity" /> </activity> 

Вам следует удалить свой Override onOptionsItemSelected и заменить его onCreateOptionsMenu на этот код

 @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_action_bar_finish_order_stop, menu); menu.getItem(0).setOnMenuItemClickListener(new FinishOrderStopListener(this, getApplication(), selectedChild)); return true; }