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

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

Войти
Регистрация
Восстановить пароль
 
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
#1

Метод keyAy объекта SparceBooleanArray - Android

05.07.2015, 23:15. Просмотров 279. Ответов 1
Метки нет (Все метки)

Не совсем понимаю смысл данного действа:
Java
1
2
3
4
5
6
7
8
9
10
        public void onClick(View arg0) {
// пишем в лог выделенные элементы
        Log.d(LOG_TAG, "checked: ");
            SparseBooleanArray sbArray = lvMain.getCheckedItemPositions();
            for(int i = 0; i<sbArray.size(); i++) {
                int key = sbArray.keyAt(i);
                if (sbArray.get(key))
                    Log.d(LOG_TAG, names[key]);
            }
    }
Мы получаем позиции выделенных элементов из списка lvMain в виде объекта SparseBooleanArray. Он представляет собой Map(int, boolean). Ключ (int) – это позиция элемента, а значение (boolean) – это выделен пункт списка или нет. Причем
SparseBooleanArray хранит инфу не о всех пунктах, а только о тех, с которыми проводили действие (выделяли и
снимали выделение). Мы перебираем его содержимое, получаем позицию пункта и, если пункт выделен, то
выводим в лог имя из массива, соответствующее позиции пункта.

Я не пойму, метод sbArray.keyAt(i); зачем нужен? Почему нельзя использовать i как индекс? if (sbArray.get(i)) Log.d(LOG_TAG, names[i])? Я так пробовал-работает через раз. Почему так? Этот метод что, возвращает key для текущего i? Т.е. key и i не совпадают? Получается под каждым i хранится и key и value?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2015, 23:15     Метод keyAy объекта SparceBooleanArray
Посмотрите здесь:

Android Следование объекта за пальцем
Android Динамическое создание объекта
Сериализация объекта в файл Android
Android Создание кликабельного объекта на карте
Android Определение объекта
Android Время жизни static объекта
Загрузка 3d объекта из файла Android
Прием сериализованного объекта на сервере Android
Android Listener перемещения объекта
Создание объекта класса Android
Как добраться до объекта Android
Парсинг JSON объекта Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
17.07.2015, 21:17  [ТС]     Метод keyAy объекта SparceBooleanArray #2
Сам додумал-этот SparseBooleanArray хранит key и Value, i-это номер элемента массива, в котором например при i=0 key может быть равен двум, так как хранит он инфо о тех элементах, которые были нажаты.
Yandex
Объявления
17.07.2015, 21:17     Метод keyAy объекта SparceBooleanArray
Ответ Создать тему
Опции темы

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