Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/14: Рейтинг темы: голосов - 14, средняя оценка - 5.00
lastm
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 3
1

Как использовать RadioButton в ListView?

03.10.2012, 18:49. Просмотров 2574. Ответов 4
Метки нет (Все метки)

Хочу использовать свой ListView с расположены на нем тремя TextView и RadioButton, для выбора пользователем одного пункта.
Заполняем ListView данными из базы данных, все отрабатывает. Проблема возникает при нажатии на RadioButton, отмечается пункт и не убирается при выборе другого RadioButton, а отмечает еще один пункт.
https://lh3.googleusercontent.com/-h...0/ListView.jpg
Код Activity
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
db = new DB(this);
        db.open();  
        
        c = db.getAllData(DB.DB_TABLE_CAR);
        startManagingCursor(c);
                
        // формируем столбцы сопоставления
        String[] from = new String[] { DB.COLUMN_CAR_BRAND, DB.COLUMN_CAR_MODEL, DB.COLUMN_CAR_ODO };
        int[] to = new int[] { R.id.tvListCarBrand, R.id.tvListCarModel, R.id.tvListCarOdonometr };
        
        // создаем адаптер и настраиваем список
        scAdapter = new SimpleCursorAdapter(this, R.layout.item_list_cars, c, from, to);
        lvListCar = (ListView) findViewById(R.id.lvListCar);
        lvListCar.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        lvListCar.setAdapter(scAdapter);
Код layout шаблона Item
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
 
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:orientation="vertical" >
 
        <TextView
            android:id="@+id/tvListCarBrand"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
 
        <TextView
            android:id="@+id/tvListCarModel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
 
        <TextView
            android:id="@+id/tvListCarOdonometr"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:textColorHint="@android:color/white" />
    </LinearLayout>
 
    <RadioButton
        android:id="@+id/rbListCar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:gravity="right" />
 
</RelativeLayout>
Код layout
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/tvListCarAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right|center_vertical"
        android:drawableLeft="@drawable/ic_edit_item"
        android:gravity="center_vertical"
        android:text="@string/item_list_cars" />
 
        <ListView
            android:id="@+id/lvListCar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
</LinearLayout>
Собственно вопрос заключается в том как сделать так что бы выбирался только один RadioButton, как узнать какой именно выбран.
И как задать выбор одного из RadioButton при создании Activity?

Нашел вот тут похожую тему но так и не разобрался(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 18:49
Ответы с готовыми решениями:

Как использовать ListView.setHeaderView()
Есть вот такой layout, описывающий нижнюю половину активити: &lt;?xml...

RadioButton в ListView
Есть две разметки одна со списком, другая отвечает за элемент списка в которой...

RadioButton, RadioGroup в ListView
Не пойму я как сделать. Мне надо список из трех элементов radioButton. Вот и...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton?
Добрый день. Затрудняюсь понять один момент: У меня есть ListView,...

RadioButton как обычный Button
Как сделать чтобы радио баттон выглядел как обычный баттон, но работал как...

4
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.10.2012, 21:29 2
Цитата Сообщение от lastm Посмотреть сообщение
Нашел вот тут похожую тему но так и не разобрался(
в чем не разобрался? вроде очень простые советы

1)Use mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
Make your custom row view implement Checkable.

2)You must keep a reference to the last checked radio button, and then upon RadioButton.onClick you set the last checked radio button setChecked(false).
also remember to set the newly selected radio button as the last selected radio button.

Добавлено через 59 секунд
первый вариант правильнее.
1
lastm
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 3
04.10.2012, 10:37  [ТС] 3
Проблема в том что я так и сделал как предложено в первом варианте в листинге кода что сверху указано, но RadioButton продолжает себя так же вести(
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.10.2012, 13:25 4
давайте проджект, проверим что не так...
0
lastm
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 3
04.10.2012, 17:25  [ТС] 5
Я не только начал разбираться в программировании под Android, что именно показать?
В обчем начал переделывать все буду обрабатывать нажатие на элементы списка и менять через него.
0
04.10.2012, 17:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 17:25

ListView. После добавления кнопки перестал быть доступен сам ListView
Кастомизировал ListView с помощью нескольких TextView. Но после того, как...

Listview вывод данных и переход по нажатию на другой Listview SQLite
Доброго извините за название темы, долго не мог сформировать название, В общем...

Передача данных из ListView в другой Activity в ListView
Добрый день. Пытаюсь разобраться с передачей данных с ListView, но выходит что...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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