Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Получать данные по сокетам https://www.cyberforum.ru/android-dev/thread557256.html
Здравствуйте, пишу Socket клиент для Android на Java который коннектится к серверу и сервер начинает отправлять данные в таком формате первые 4 байта- размер файла затем сам файл потом опять 4...
Загадочная разметка, не могу разобраться. Программирование Android
Пытаюсь сделать список с элементами такого вида: Cправа - кнопка, слева: слово и под ним Progressbar. Не могу понять, как сделать так, чтобы кнопка прижалась вправо, а прогресс-бар с надписью...
Динамическое создание кнопок на Mono Android Программирование Android
Доброго времени суток. Разработку под Андроид начал изучать совсем недавно. Выбрал следующую задачу: при запуске проекта подключаемся бд SQLite, с определенной таблицы я получаю строки, в которых...
Программирование Android Как? Приложение с уже "укомплектованной" БД. (решено) Добрый день. Есть идея хранить уровни в БД (несложная игра, построенная на графах). Допустим, саму БД с уровнями я заполню в десктопном редакторе. Вопрос: как потом включить этот файл БД в... https://www.cyberforum.ru/android-dev/thread553304.html
Программирование Android Действие на нажатие https://www.cyberforum.ru/android-dev/thread553301.html
вот нашел урок http://startandroid.ru/uroki/vse-uroki-spi...ilozhenija.html в принципе то что надо. Вот только как поменять код, чтобы вместо кнопок были картинки? Вот мой main.xml <?xml...
Программирование Android мини-синтезатор
Здравствуйте. Я тут решил написать мини-синтезатор- звуки mp3. Все просто – в зависимости от клавиши проигрывается тот или иной звук. Я попробовал класс SoundPool import android.media.AudioManager;...
Считывание файла манифеста Программирование Android
Добрый день. Столкнулся с такой задачей, нужно считать с файла манифеста андроид приложения два параметра и вывести их на экран, используя aapt.exe с командой ‘damp badging’ . Раньше с таким вобще...
Программирование Android На эмуляторе все работает, на телефоне - нет Здравствуйте. Случилось так что на эмуляторе работает, а на телефоне – нет (даже не устанавливается). Это произошло после того как я добавил звук. Вот тот класс где добавлен и проигрывается звук. ... https://www.cyberforum.ru/android-dev/thread552399.html
Программирование Android Как сделать, чтобы Content Provider использовал следующие пути https://www.cyberforum.ru/android-dev/thread550799.html
В приложении используется WebView. HTML страницы, картинки, скрипты, данные, которые загружаются в WebView, будут храниться в Базе Данных на Android устройстве. Как сделать, чтобы Content Provider...
Программирование Android Помогите реализовать меню паузы в игре Доброго времени суток! Прошу помочь мне реализовать меню паузы в игре. Меню делаю при помощи dialog следующим образом: pauseMenu = new Dialog(GameSurface.this);... https://www.cyberforum.ru/android-dev/thread549680.html
Zav
8 / 8 / 1
Регистрация: 19.04.2012
Сообщений: 26
25.04.2012, 12:07  [ТС] 0

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton?

25.04.2012, 12:07. Просмотров 3034. Ответов 4
Метки (Все метки)

Ответ

NiRamz,
Цитата Сообщение от NiRamz Посмотреть сообщение
при нажатии на итем
не равно
Цитата Сообщение от Zav Посмотреть сообщение
При нажатии на ToggleButton
На итем я могу повесить слушателя путем listView.setOnItemClickListener и тем самым передать и id строки и позицию в listView. ToggleButton не есть item. Это его дочерний объект. Можно как-то обратится к дочернему объекту в итеме?

Я попробовал так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
list.setOnItemClickListener(new OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                idItem = id;
                edit_flag = true;   
                startToggle = (ToggleButton) view.findViewById(R.id.toggle);
                startToggle.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                    
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        // TODO Auto-generated method stub
                        Toast.makeText(getApplicationContext(), "position of toggle: "+idItem, Toast.LENGTH_SHORT).show();
 
                    }
                });
                                                Toast.makeText(getApplicationContext(),
                        "position of item: " + idItem, Toast.LENGTH_SHORT)
                        .show();
            }
});
Не получается. Не реагирует при нажатии на ToggleButton. При нажатии на другую область второй Toast работает.

Объясню почему. У меня в итеме два view: ToggleButton и TextView. Если не хардкодить, то по умолчанию TextView имеет
XML
1
android:focusable="false"
ToggleButton имеет
XML
1
android:focusable="true"
. В этом случае Item в ListView не реагирует на нажатие, пока мы не захардкодим для ToggleButton
XML
1
android:focusable="false"
. Проверьте сами. Потому что фокус у нас на ToggleButton. А слушатель у нас висит на Item.
Уф.. Что-то так подробно расписал..

В выше приведенном коде делается следующее: пока не кликнул ни на один из Item, ToggleButton не реагирует, т.к. пока что не сработал слушатель OnItemClickListener. Если кликну, к примеру, на пятый Итем, то потом при нажатии на любой ToggleButton будет показываться Toast "position of toggle: 5". И понятно почему. Потому что ToggleButton не есть Item.

Как-то надо по другому, чувствую, что упускаю какую-то банальную вещь в понимании.

Вернуться к обсуждению:
ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton?
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2012, 12:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как изменить цвет ToggleButton при нажатии?
Добрый день! Подскажите, пожалуйста, как изменить цвет кнопки ToggleButton при нажатии, а при...

Как после окончания mp3 перевести ToggleButton в состояние выключено
Я только не давно начал изучать андроид и программирование под него так что прошу прощение за...

Как отследить статус клавиши CTRL при нажатии на кнопку ToggleButton?
Нужно при нажатии ToggleButton поймать - нажата ли в этот момент клавиша контрол и в соответсвии с...

Как записывать данные из SQLite в ListView
Здравствуйте, задался таким вопросом. Есть SQLite таблица, данные в которой берутся из EditText. Я...

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