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

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

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

Метод keyAy объекта SparceBooleanArray - Программирование Android

05.07.2015, 23:15. Просмотров 312. Ответов 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?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2015, 23:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод keyAy объекта SparceBooleanArray (Программирование Android):

Как из дочернего объекта вызвать метод объекта родителя - C#
Всем доброго времени суток, товарищи! Такой вопрос, как из дочернего объекта вызвать метод объекта родителя? Допустим есть два класса...

метод самого объекта - C#
//метод удаления части контура в виде дуги либо линии public void DeletePart(int del_index) { FigureInfo...

Метод объекта не обнаружен - 1С
ОбновитьТаблицуДоступныхНастроекПользователю Помогите опытные воротилы

Передача объекта в метод - C++
void delete_value(string value, list&lt;films&gt; coll) coll передаётся как копия. После удаления из копии данные из списка, который был...

Передача объекта в метод - C++
Объясните пожалуйста,как правильно написать. Есть метод AddMessage() который добавляет сообщение в тему,и есть метод GetMessage() который...

Вызвать метод объекта - ООП и паттерны
Представьте такую ситуацию: есть объект Obj1 имеющий Method1, внутри Obj1 создается объект Obj2 и в какой-то момент из Obj2 нужно передать...

1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 873
17.07.2015, 21:17  [ТС] #2
Сам додумал-этот SparseBooleanArray хранит key и Value, i-это номер элемента массива, в котором например при i=0 key может быть равен двум, так как хранит он инфо о тех элементах, которые были нажаты.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2015, 21:17
Привет! Вот еще темы с ответами:

Метод объекта не обнаружен - 1С
В общем, есть конфигурация рукодельная, на 8.2 , и я хотел вывести при запуске системы сообщения про оборудование для которого необходимо...

Передача любого объекта в метод - C#
Добрый день. Подскажите, пожалуйста. Есть метод: при изменении состояния checkBox'а изменяется доступность к текстовому полю на форме. ...

Передача объекта аргументом в метод - C++
Итак, надо передать объект аргументом. Я его передал, нов методе должно измениться одно поле объекта. Но после выполнения метода оно не...

Передача объекта в метод класса - C++
здравствуйте. в процессе написания программы возник такой вопрос. можно ли при вызове метода некоторого класса для объекта А, передать в ...


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

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

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