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

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

03.10.2012, 18:49. Просмотров 2929. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 18:49
Ответы с готовыми решениями:

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

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

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

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

Как использовать RadioButton?
Не знаю как применить RadioButton...У меня такая задача:когда переводим рубли в доллары нужно их...

4
V0v1k
1162 / 986 / 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
1162 / 986 / 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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 17:25

Как использовать radiobutton из одной формы в другой?
Подскажите как мне использовать radiobutton из одной формы в другой форме, то есть, у меня есть...

Как правильно создать и использовать radiobutton? Можно ли из программы узнать версию Windows ?
Здравствуйте. Как правильно создать и использовать элементы radiobutton ? Если я просто создам...

Как использовать ListView в DataGrid
Всем привет, собственно сабж. Как сделать нечто подобное?


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

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

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