Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17

Обработчик нажатий

04.03.2013, 12:21. Показов 3057. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Я новичок в программировании и буду очень признателен в помощи.
Вопрос такой: мне нужно в обработчике по нажатию на какой либо элемент из списка присвоить переменной имя (string name) этого элемента. То есть <string name="home">Дом</string> в переменную запишется не Дом, а home.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2013, 12:21
Ответы с готовыми решениями:

Обработка нажатий
Господа подскажите как определить что пользователь провел пальцем влево или в право? Отслеживать в onTouch координаты? Если Х...

Несколько нажатий
Подскажите пожалуйста как сделать так, что бы можно было нажимать на ОДНУ кнопку несколько раз и она например меняла бы звук нажал первый...

Fragment обработка нажатий
Здравствуйте. Есть 9 Layout-ов. Каждый выступает в роли контейнера для фрагментов. Вопрос в следующем. Не могу сделать обработку нажатий на...

22
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 13:13
Цитата Сообщение от torooty Посмотреть сообщение
Вопрос такой: мне нужно в обработчике по нажатию на какой либо элемент из списка
list.setOnItemClickListener(onItemClickL istener);

Добавлено через 2 минуты
Цитата Сообщение от torooty Посмотреть сообщение
То есть <string name="home">Дом</string> в переменную запишется не Дом, а home.
не представляю для чего это вам...

Добавлено через 1 минуту
getResources().getResourceName(R.string. home);
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 13:21  [ТС]
спасибо за ответ. но не совсем то что нужно. Сейчас код такой
final ArrayAdapter<String> ad = new ArrayAdapter(this,android.R.layout.simpl e_list_item_1, lv_arr);
lv1.setAdapter(ad);
lv1.setTextFilterEnabled(true);

lv1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int id, long position) {

String itemname = ad.getItem(id);

а мне нужно чтобы в itemname записывалось string name при выборе элемента в списке.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 13:30
и в чем проблема?
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 13:36  [ТС]
ну сейчас в переменную (если брать пример из моего первого сообщения ) записывается не home , а Дом.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 14:04
getResources().getResourceName(resId);
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 14:46  [ТС]
я правильно понимаю ????
lv1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {


String itemname = getResources().getResourceName(resId);


Подчеркивает resId.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 14:55
вместо resId должен быть id нужной стринги.
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 15:11  [ТС]
Спасибо за ответы, но я еще раз уточню,

lv1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {


String itemname = getResources().getResourceName( сюда ставлю согласно моему коду - position ??? );
начинаю проверять, ругается на эту строчку и приложение вылетает.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 15:20
не position а id стринги.
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 15:53  [ТС]
я понимаю так , нажимаю на элемент в списке, переменной в этот момент присваивается имя стринги этого элемента, и что мне в итоге в скобках писать getResources().getResourceName(?), определенный номер ??? как узнать id стринги ???

Добавлено через 17 минут
вообщем мне стало понятно что вы имели ввиду, а вот чтобы не нужно было жестко прописывать id стринги , я же не знаю какой элемент будет выбран.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 16:52
как вы наполняете lv_arr? приведите код.
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 17:02  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
 final String[] lv_arr =    getResources().getStringArray(R.array.list_array);
lv1 = (ListView)findViewById(R.id.lister);
lv1.setAdapter( new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
lv1.setTextFilterEnabled(true);
lv1.setOnItemClickListener(new OnItemClickListener() 
    {
        public void onItemClick(AdapterView<?> a, View v, int position, long id) 
        {
           
            String itemname =
strings.xml

<string name="name1">Кот</string>
<string name="name2">Собака</string>
<string name="name3">Рыба</string>
<string name="name4">Птица</string>


<string-array name="list_array">
<item>@string/name1</item>
<item>@string/name2</item>
<item>@string/name3</item>
<item>@string/name4</item>
</string-array>
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 17:15
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<string-array name="list_array">
<item>Кот</item>
<item>Собака</item>
<item>Рыба</item>
<item>Птица</item>
</string-array>
 
<string-array name="list_array2">
<item>name1</item>
<item>name2</item>
<item>name3</item>
<item>name4</item>
</string-array>
Java
1
2
3
4
5
6
String[] lv_arr2 =    getResources().getStringArray(R.array.list_array2);
...
public void onItemClick(AdapterView<?> a, View v, int position, long id){
         String itemname = lv_arr2[position];
    }
...
как вариант.
знал бы для чего это вам, может смог бы предложить более подходящее решение.
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
04.03.2013, 17:26  [ТС]
Спасибо большое за решение проблемы и потраченное время!!!!!! Выручили !!!!!!!!!!!!!!!!!!!!
0
73 / 73 / 3
Регистрация: 04.09.2012
Сообщений: 170
04.03.2013, 17:53
. Ошибся
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
05.03.2013, 11:22  [ТС]
при таком массиве список заполняется не кот, собака , рыба, а name1, name2 ....
XML
1
2
3
4
5
6
 <string-array name="list_array2">
<item>name1</item>
<item>name2</item>
<item>name3</item>
<item>name4</item>
</string-array>
а нужно

XML
1
2
3
4
5
6
<string-array name="list_array">
<item>@string/name1</item>
<item>@string/name2</item>
<item>@string/name3</item>
<item>@string/name4</item>
</string-array>
все равно не так работает ((
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.03.2013, 13:15
ну правильно, один масив заполняете кот, собака , рыба... а второй name1, name2 .... первый отображаете в списке, второй используете здесь - String itemname = lv_arr2[position];
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 17
05.03.2013, 14:06  [ТС]
спасибо!!! буду проверять!!!!

Добавлено через 22 минуты
но вот вопрос, если элементы в списке будут менятся местами, скажем будет поиск по списку , и на первой позиции будет находится пятый элемент, то имена второго массива уже не будут соотвествовать элементам первого массива???
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.03.2013, 16:42
да, нужно менять синхронно.

скажите зачем вам это и может я придумаю вариант получше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2013, 16:42
Помогаю со студенческими работами здесь

Обработка нажатий в TabLayout
Друзья, привет, вопрос следующий, я разобрался с TabLayout, но только при использовании ViewPager, там все понятно. А как сделать так,...

Обработка нажатий на виджет
Почему не работает при нажатии на виджет? @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int...

Обработка нажатий на виджет
Подскажите пожалуйста. Из уроков так и не понял. 1 Как сделать чтобы при нажатии на установленный виджет запускалась MainActivity для...

Кнопка со счётчиком нажатий
Добрый день смотрел в интернете но ни нашел примера. Что для этого нужно? Или какие темы можно посмотреть? Думал что натыкал к примеру...

Sliding Menu обработка нажатий
Кто нибудь использовал данную библиотеку? menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru