Android 4.0 / ICS - значок приложения на панели действий не активируется - PullRequest
11 голосов
/ 29 января 2012

По какой-то причине при тестировании на моем Motorola Xoom с Ice Cream Sandwich значок приложения на панели действий не активируется, даже несмотря на то, что я реализовал обработчик событий.Это происходит только после изменения targetSdkVersion на 15. Если это 13, по-прежнему можно нажимать, даже на ICS.Почему это происходит и как сделать его кликабельным, как кнопка?Я искал документацию и ничего не смог найти.

Спасибо.

ОБНОВЛЕНИЕ: Вот мой код:

AndroidManifest.xml:

...
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:theme="@style/android:Theme.Holo.Light">
...

BaseActivity.java (все мои действия наследуются от этого класса:

...
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            // app icon in action bar clicked; go home
            Intent intent = new Intent(this, MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
...

Ответы [ 2 ]

25 голосов
/ 29 января 2012

Я нашел это в документации на http://developer.android.com/guide/topics/ui/actionbar.html:

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

0 голосов
/ 12 декабря 2013

Хотите использовать следующий код:

ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
...