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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Графика определение света точек экрана http://www.cyberforum.ru/android-dev/thread1493551.html
Тренируюсь писать программы на андроид, вспомнил в детстве была такая головоломка шар в лабиринте, решил подобное повторить на телефоне. С шариком все получилось а вот определить стенки лабиринта не получается. Лабиринт рисую так: imageView.setBackground(getResources().getDrawable(R.drawable.maze1)); Можно вот так: imageView.setImageResource(R.drawable.maze1);
Программирование Android Получение списка аудиозаписей из vk Добрый день! Пробую написать аудиоплеер, который смог мы проигрывать музыку из контакта. Проигрывание с памяти телефона и SD карты я уже сделал, к контакту тоже уже подключился, используя ВКонтакте Android SDK. Но теперь никак не могу понять каким образом мне получить список песен, что бы я мог их воспроизводить в плеере. Если кто нибудь сталкивался с этим, подскажите пожалуйста. http://www.cyberforum.ru/android-dev/thread1493494.html
Как обьединить маркеры при кластеризации Google Maps Программирование Android
Добрый день вот я кластеризовал как сделать маркеры я вообще разобраться не могу , гуглил но так и не понял , могли бы обьяснить вот кластеризация моя List<AzsObj> azsObjs = db.openDataBase(); getMap().setOnCameraChangeListener(mClusterManager); getMap().setOnMarkerClickListener(mClusterManager); for (int i = 0; i < 10; i++) { double offset = i /...
Программирование Android Layout как новый Activity
Здравствуйте, слышал что Layout можно использовать вместо нового Activity, делаю простое приложение что то вроде справочника, так вот там необходимы новые активити для заполнения их информацией, возможно ли использовать Layout вместо активности если да то как осуществлять переход между ними? И правда что Layout менее ресурсо затратен чем активити? Заранее спасибо!)
Программирование Android Организовать что бы AsyncTask запускался в фрагменте раз в определененное время http://www.cyberforum.ru/android-dev/thread1493416.html
Я использую Asynctask для загрузки данных через Volley. Не могу понять как организовать что бы этот AsyncTask запускался в фрагменте раз в определененное время. По сколько я только начинаю разбираться в AsyncTask и вообще в Android программирование то не совсем понимаю как это можно эффективно реализовать. Это приложение было построенно по примерам и в я не совсем понимаю зачем вообще этот...
Программирование Android Доступ к атрибутам объекта при наступлении события Проблема: приложение загружает JSON и программно отображает содержимое. В процессе отображения формируется несколько TextView, в каждый из которых нужно вложить набор параметров (я это сделал через setHint) и получить к ним доступ внутри события (в моём случае "onClick"). TextView someText = new TextView(context); someText.setHint("НАБОР ПАРАМЕТРОВ"); someText.setOnClickListener( ... подробнее

Показать сообщение отдельно
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850

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

05.07.2015, 23:15. Просмотров 291. Ответов 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?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru