Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 949
#1

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

05.07.2015, 23:15. Просмотров 397. Ответов 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
Ответы с готовыми решениями:

Можно ли вызвать метод одного объекта через метод другого объекта?
Мне нужно сделать так, чтобы при вызове метода OnMouseDown() Первого объекта...

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

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

Передача объекта в метод
void delete_value(string value, list&lt;films&gt; coll) coll передаётся как копия....

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

1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 949
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

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

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

метод самого объекта
//метод удаления части контура в виде дуги либо линии public void...


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

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

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