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

Слушатели списка со своей разметкой - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как зажечь вспышку от камеры? http://www.cyberforum.ru/android-dev/thread620673.html
Как зажечь вспышку от камеры не включая камеру
Android как к AVD подключить модуль ядра fuse Здравствуйте! Мне нужно подключить библиотеку fuse-android к AVD. Для этого вначале необходимо подключить модуль ядра fuse. Я взял модуль /lib/modules/3.2.0-23-generic/kernel/fs/fuse/cuse.ko и скопировал его на девайс в папку /dev, потом в этой директории прописал команду #insmod cuse.co и получил сообщение: insmod: init_module 'cuse.ko' failed (Function not implemented) Подскажите, пожалуйста,... http://www.cyberforum.ru/android-dev/thread620661.html
на каком языке написано ядро Андроида? Android
Добрый день народ) Подскажите пожалуйста, а на каком языке написано ядро Андроида? не могу найти в инете... И легче ли писать под линухой? Спасибо!
Android Массив button
Здравствуйте! У меня на xml-форме есть семь кнопок, как мне их в коде определить как массив с 7-ю элементами, чтобы я мог обрабатывать их в цикле и каждый элемент массива ссылался на определенную кнопку в xml. Т.е. в С++ это так: Array <Button> ^ button = gcnew Array <Button> (7); Пример вызова: button -> Text = "Example"; Как это сделать в java? (элементы массива обязательно должны...
Android Путь к файлу и графические ресурсы http://www.cyberforum.ru/android-dev/thread620412.html
Понимаю, что вопрос детский, но тем не менее... Есть строковая переменная, содержащая название файла, например: String fileName="picture" В папке res\drawable приложения лежит мой файл picture.png Теперь задача - нужно установить этот файл в качестве картинки для ImageView Пробовал следующим образом: Drawable picture=Drawable.createFromPath("res/drawable/picture.png");
Android Программное изменение цвета текста button Доброго времени суток всем! Возникла проблема: Необходимо, чтобы при нажатии на кнопку, она меняла цвет текста (на цвет из ресурсов), но при использовании кода: bWeek2.setTextColor(R.color.white); она просто меняет цвет на стандартный... В чем ошибка? И как это реализовать? Заранее спасибо! подробнее

Показать сообщение отдельно
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
12.07.2012, 13:45  [ТС]     Слушатели списка со своей разметкой
Вроде разобрался с примером и все заработало, но вот с отдельными вещами не очень понятно, и в нете что-то не очень толково расписано. В общем наибольший интерес для меня представляет конструкция в адаптере:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    public View getView(int position, View convertView, ViewGroup parent) {
        
        LinearLayout ListItemView;      
        CheckBox checkBox;
        TextView nameView;      
        ListItem item=getItem(position);    
        String itemName=item.getName();
    
        if (convertView==null){
            convertView=layoutInflater.inflate(resource, null);         
            checkBox=(CheckBox) convertView.findViewById(R.id.checkbox);
            nameView=(TextView) convertView.findViewById(R.id.item_name);           
            convertView.setTag(new ItemViewHolder(nameView, checkBox));         
            checkBox.setClickable(false);
            checkBox.setFocusable(false);   
        } else {
            ItemViewHolder viewHolder=(ItemViewHolder) convertView.getTag();
            checkBox=viewHolder.getCheckBox();
            nameView=viewHolder.getItemName();
        }           
            checkBox.setChecked(item.getCheckFlag());
            nameView.setText(item.getName());           
        return convertView;
    }
а конкретно строчка

Java
1
convertView.setTag(new ItemViewHolder(nameView, checkBox));
я так понял, что здесь каждой строчке в списке передается анонимный ассоциативный объект типа ItemViewHolder, т. е. наш объект ItemViewHolder оказывается прицепом с информацией к конкретному convertView. Так?
Далее строкой
Java
1
ItemViewHolder viewHolder=(ItemViewHolder) convertView.getTag();
мы вызываем иформационный объект ItemViewHolder к выбранному convertView.
Правильно я понял?

В примере это названо оптимизацией:
Java
1
2
// Optimization: Tag the row with it's child views, so we don't have to   
        // call findViewById() later when we reuse the row.
Однако на http://developer.android.com написано:
It is generally preferable to use IDs (through the android:id attribute) instead of tags because they are faster and allow for compile-time type checking.
Что, как я понимаю, говорит об обратном, во всяком случае в плане производительности. Или в данном случае под оптимизацией имеется ввиду отсутствие необходимости присвоения имени для элементов View, отображающих элемент списка?
 
Текущее время: 14:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru