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

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

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

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

05.07.2015, 23:15. Просмотров 288. Ответов 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
Всем привет! Рисую на SurfaceView несколько объектов, каждый из них принадлежит отдельному классу. Каким образом определять по касанию...

Как добраться до объекта - Программирование Android
В фрагменте установил слушателя по клику listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { ...

Следование объекта за пальцем - Программирование Android
Здравствуйте. Возникла потребность сделать программу, в которой будет несколько объектов (Картинок) и которые необходимо перетаскивать по...

Сериализация объекта в файл - Программирование Android
Как сделать сериализацию объекта в файл. Можно пример пожалуйста. Спасибо

Загрузка 3d объекта из файла - Программирование Android
Вечер добрый, форумчане. Есть необходимость загрузить 3d объект, созданный в autocad, из файла. В дальнейшем - отрисовать его...

Динамическое создание объекта - Программирование Android
Всем привет! Заранее извиняюсь за глупый вопрос. Подскажите, пожалуйста, кто знает, как можно динамически создать кнопку в Android? Я...

Создание объекта класса - Программирование Android
public class MyClass { static int Variable = 1; } //создаю первый объект new MyClass(); //здесь MyClass.Variable = 1 ...

Listener перемещения объекта - Программирование Android
Сколько дней рою интернет, никак не могу найти. Я при помощи ObjectAnimator перемещаю объект(ImageView) мне нужно отследить каждую...

Парсинг JSON объекта - Программирование Android
Здравствуйте, программисты! Помогите, пожалуйста, с решением задачи: Есть json-объект такого вида: {&quot;map&quot;: {&quot;firstname&quot;: null,...

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Ответ Создать тему
Опции темы

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