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

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

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

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

18.10.2015, 11:54. Просмотров 540. Ответов 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);
    }
В чем может быть дело? Помогите пожалуйста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2015, 11:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается обработать нажатие на кнопку Home в ActionBar (Программирование Android):

Заблокировать долгое нажатие на кнопку HOME - Программирование Android
Здравствуйте! Как заблокировать долгое нажатие на кнопку HOME в своем приложении? P.S. Android 4.2.2 На версиях 5.0+ меню недавних...

Нажатие на элемент меню в Actionbar - Программирование Android
Доброго дня! Приделал через appbar actionbar к активити. Вот xml: <android.support.design.widget.AppBarLayout ...

Сменна иконки на ActionBar при её нажатие - Программирование Android
Здравствуйте! У меня на ActionBar должна быть иконка для включения и отключения звука в приложении. Тоисть при нажатии на иконку она...

Смена темы ActionBar при нажатии на кнопку - Программирование Android
Подскажите пожалуйста как можно изменить тему ActionBar, при нажатии на кнопку.

Отловить нажатие кнопки Home - Программирование Android
Всем привет! Как отловить нажатие кнопки Home. В onKeyDown не получается.... Какие ещё варианты?

Как обработать нажатие ImageView - Программирование Android
Создаю программу на Андроиде. И сразу столкнулся с проблемой. Почему то не получается... Создаю три объекта ImageView, и надо при нажатии...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 320
18.10.2015, 14:54 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
danek130995, нужно в конце добавить show().

Java
1
Toast.makeText(this, "Bax", Toast.LENGTH_LONG).show();
1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 873
18.10.2015, 16:01  [ТС] #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>
0
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 320
18.10.2015, 16:23 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я так думаю что в Java коде должно быть так:

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

Обработать нажатие на кнопки в уведомлении - Программирование Android
Еще раз здравствуйте. Дело такое. Есть уведомление, в нем две кнопки. Они должны выполнять различные действия (вызов методов)....

Как обработать нажатие на ImageView? - Программирование Android
Ребят, не пойму в чем ошибка, как обработать нажатие на картинку? public class MainActivity extends ActionBarActivity implements...

Событие нажатия на кнопку home - Программирование Android
я хочу по нажатию на среднию кнопку там где нарисован домик вывести сообщение @Override public boolean onKeyDown(int keyCode,...

Как обработать нажатие на изображение в элементе listView? - Программирование Android
Как все знают, listView делится на множество элементов, нажатия на них можно обработать... Но во многих listView помимо тескат часто...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.10.2015, 15:32
Ответ Создать тему
Опции темы

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