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

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

Войти
Регистрация
Восстановить пароль
 
strel_nikov
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 7
#1

Получение нажатых элементов listview - Программирование Android

21.08.2015, 20:58. Просмотров 172. Ответов 1
Метки нет (Все метки)

Добрый день!

Есть listview с кастомным адаптером. В каждом элементе этого listview есть checkbox. Проблема в том что с кастомным адаптером не работает .getCheckedItemPositions(), и в итоге я не могу получить список нажатых элементов.

В методе onCreate:

Java
1
2
3
4
5
6
7
 final String[] words = new String[] {
                "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"
        };
 
 
        MySimpleArrayAdapter adapter = new MySimpleArrayAdapter(this, words);
        listView.setAdapter(adapter);
Собственно адаптер:

Java
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
public class MySimpleArrayAdapter extends ArrayAdapter<String> {
    private final Context context;
    private final String[] values;
    DataBaseHelper myDbHelper;
    int id = 1;
 
 
    public MySimpleArrayAdapter(Context context, String[] values) {
        super(context, R.layout.listitem, values);
        this.context = context;
        this.values = values;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
 
        View rowView = inflater.inflate(R.layout.listitem, parent, false);
        CheckBox checkBox = (CheckBox)rowView.findViewById(R.id.checkBox);
        TextView newwordview = (TextView)rowView.findViewById(R.id.newwordview);
 
 
        newwordview.setText("lalala");
 
            return rowView;
    }
}
Попытка по нажатию получить список нажатых чекбоксов:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void addbtnclick(View view){
        int cntChoice = listView.getCount();
        SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
 
        for (int i = 0; i < cntChoice; i++) {
 
            if (sparseBooleanArray.get(i) == true) {
                String a = listView.getItemAtPosition(i).toString();
                myDbHelper.setadd(a, "en");
            } else if (sparseBooleanArray.get(i) == false) {
 
            }
        }
    }
При дебаге оказывается, что sparseBooleanArray состоит из 0 элементов как я ни кликай на эти чекбоксы. Что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2015, 20:58     Получение нажатых элементов listview
Посмотрите здесь:

Listview, adapter получение информации из нажатого элемента списка - Программирование Android
Есть список, который заполняется из базы данных. Мне нужно через контекстное меню удалить этот элемент из списка и исходя из информации,...

Прорисовка элементов в ListView - Программирование Android
Доброго дня. Необходимо сделать свой список с своим View, нашёл статью и сделал как в ней. Но поведение CheckBox'ов оказалось поломанное....

Просмотр элементов в ListView - Программирование Android
нужно что бы при нажатии на элемент открывалось отдельное окно с более детальной информацией данного элемента

Добавление элементов в listview из БД - Программирование Android
Здравствуйте. У меня не выходит выбросить из списка одинаковые элементы. Я из БД вытаскиваю номера групп, которые соответственно...

Добавление нескольких элементов в ListView - Программирование Android
Не могу разобрался с ListView.Есть несколько адаптеров как их добавить в ListView?

Асинхронная загрузка элементов в listview - Программирование Android
Столкнулся с такой проблемой, что у меня есть listview, в который с сайта подгружается список из более чем ста позиций. Хотел бы сделать...

ListView с изменяющимся количеством элементов - Программирование Android
Нужно реализовать виджет ListView с изменяющимся количеством элементов. Пытался реализовать свой адаптер-наследник от ArrayAdapter и в...

Вывод элементов ListView в строчку - Программирование Android
Есть вывод данных с базы в ListView : class LoadAllProducts extends AsyncTask&lt;String, String, String&gt; { /** *...

Доступ к содержимому элементов кастомного ListView - Программирование Android
Есть у меня ListView Есть кастомный ListAdapter, который делает элементы аля &quot;TextView - EditText&quot; В общем, тут всё круто, всё...

Как зафиксировать ширину элементов ListView - Программирование Android
Подскажите как отредактировать разметку элемента ListView. На данный момент есть следующее - checkBox, TextView и ImageView. &lt;?xml...

Одинаковый хэш-код элементов ListView - Программирование Android
У меня есть ListView с кастомным элементом. В этом кастомном элементе есть кнопка для которой я прописал селектор и состояния. Для адаптера...

Свои идентификаторы для элементов ListView - Программирование Android
Как добавить свои идентификаторы в listview для элементов?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
22.08.2015, 08:34     Получение нажатых элементов listview #2
http://stackoverflow.com/questions/3...correct-values
Yandex
Объявления
22.08.2015, 08:34     Получение нажатых элементов listview
Ответ Создать тему
Опции темы

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