Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
#1

Не получается обработать нажатие на кнопку Home в ActionBar - Android

18.10.2015, 11:54. Просмотров 470. Ответов 8
Метки нет (Все метки)

в OnCreate прописал:
Java
1
2
  ActionBar actionbar= getSupportActionBar();
        actionbar.setDisplayHomeAsUpEnabled(true);
Теперь хочу поймать нажатие в
Java
1
2
3
4
5
6
7
 public boolean onOptionsItemSelected (MenuItem item){
        Toast.makeText(this, item.getItemId(), Toast.LENGTH_LONG);// - не работает
 
     if (item.getItemId()==android.R.id.home)//тоже не работает
         Toast.makeText(this, "Bax", Toast.LENGTH_LONG);
        return super.onOptionsItemSelected(item);
    }
В чем может быть дело? Помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 312
18.10.2015, 14:54     Не получается обработать нажатие на кнопку Home в ActionBar #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
danek130995, нужно в конце добавить show().

Java
1
Toast.makeText(this, "Bax", Toast.LENGTH_LONG).show();
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
18.10.2015, 16:01  [ТС]     Не получается обработать нажатие на кнопку Home в ActionBar #3
fraley, ой, вот ведь позорная ошибка.. почему-то не дописал, наверное устал. Спасибо!

Добавлено через 5 минут
fraley, кое-что все же не работает:
Java
1
2
 if (item.getItemId()==R.string.item2)
            Toast.makeText(this, "Call", Toast.LENGTH_LONG).show();
Хотя ресурс данный есть и в xml в menu_main прописано:
XML
1
2
3
4
5
6
  <item
        android:id="@+id/item2"
        android:icon="@android:drawable/ic_menu_call"
        P1071_ActionBarItems:showAsAction="always"
        android:title="@string/item2">
    </item>
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 312
18.10.2015, 16:23     Не получается обработать нажатие на кнопку Home в ActionBar #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я так думаю что в Java коде должно быть так:

Java
1
2
 if (item.getItemId()==R.id.item2)
            Toast.makeText(this, "Call", Toast.LENGTH_LONG).show();
id вместо string.
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
18.10.2015, 18:08  [ТС]     Не получается обработать нажатие на кнопку Home в ActionBar #5
fraley, да, Вы правы, работает. Тогда в чем смысл R.string.item2? В чем разница между R.id.item2 и R.string.item2? Оба все равно возвращают некий id
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 312
18.10.2015, 18:27     Не получается обработать нажатие на кнопку Home в ActionBar #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я в объяснениях не силен, но... id это и есть id, по нему можно находить элемент.
В вашем случае вы же сами присвоили этот id элементу.
android:id="@+id/item2"
string же это строка, которую опять же вы прописали в файле string.xml чтоб потом использовать по вашему усмотрению, как... строка)))
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
18.10.2015, 20:58  [ТС]     Не получается обработать нажатие на кнопку Home в ActionBar #7
fraley, я понимаю, что это строка) Но ведь пространство имен R содержит integer и для строки и для id.
Цитата Сообщение от danek130995 Посмотреть сообщение
Оба все равно возвращают некий id
Я ошибся, я имел ввиду, что они возвращают int.
Не получается обработать нажатие на кнопку Home в ActionBar
По скриншоту видно, что типы не соответствуют, т.е. я получаю не String, а Int. А как мне получить ресурс в String?
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
21.10.2015, 09:48     Не получается обработать нажатие на кнопку Home в ActionBar #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
danek130995,
Java
1
context.getResource().get*(R.*.**);
Где во втором гете вместе звездочки тип ресурса: String, Drawable и т.д.. Все R.*.* это int'ы, они просто содержат ид ресурсов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2015, 15:32     Не получается обработать нажатие на кнопку Home в ActionBar
Еще ссылки по теме:

Android Обработать нажатие на кнопки в уведомлении
Android Как обработать нажатие на ImageView? Eclipse(android)
Android Заблокировать долгое нажатие на кнопку HOME
Как обработать нажатие на изображение в элементе listView? Android
Нажатие на элемент меню в Actionbar Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
21.10.2015, 15:32  [ТС]     Не получается обработать нажатие на кнопку Home в ActionBar #9
Spelcrawler, да, точно, спасибо!
Yandex
Объявления
21.10.2015, 15:32     Не получается обработать нажатие на кнопку Home в ActionBar
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru