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

Непонятки с адаптером списка - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Включение настроек программно. Местоположение определить по сотовой сети. Wi-Fi http://www.cyberforum.ru/android-dev/thread709318.html
Здравсвуйте! Подскажите как включить програмно "Определение местоположение по безправодной сети"?(см. вложение) по поводу GPS разобрался String provider =...
Программирование Android Программа в свернутом режиме Всем доброй ночи, я столкнулся с следующей проблемой,я написал секундомер,он работает корректно, но когда я сворачиваю программу,или нажимаю на кнопку завершения вызова-тоесть выключаю екран - он... http://www.cyberforum.ru/android-dev/thread709307.html
Программирование Android Отправка сообщений в twitter
Хотел узнать, кто-нибудь уже реализовывал такую возможность в своих проектах? Я тут пытался попробовать вот с этим: http://idev.by/android/20828/#comment-2123, но в проекте есть ошибки, после которых...
Программирование Android Приложение, Андройд, ошибка
package com.example.tictactoe; import android.app.Activity; import android.content.Intent; import android.graphics.Typeface; import android.os.Bundle; import android.view.View; import...
Программирование Android Отрисовка битмапа внутри View http://www.cyberforum.ru/android-dev/thread708191.html
Доброго времени суток, уважаемые программисты. Пытаюсь создать свой View для вывода графики. Создал некоторый битмап, который использую в качестве буфера. Проблема в том, что почему-то изображение...
Программирование Android Как установить баннер AdMob в приложение? Как установить баннер AdMob в приложение? Сделал всё по инструкции, размещённой на официальном сайте: https://developers.google.com/mobile-ads-sdk/docs/android/fundamentals?hl=ru но ничего не вышло!... подробнее

Показать сообщение отдельно
kvaka
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166

Непонятки с адаптером списка - Программирование Android

26.11.2012, 12:40. Просмотров 588. Ответов 2
Метки (Все метки)

Такой вопрос - Есть ListView, есть ArrayList, для них есть довольно простой адаптер. В разметке для элемента списка есть checkBox. Все кроме него работает нормально. Т. е. при клике на чекбокс любой позиции списка какой-либо позиции списка действия, проводятся над той позицией, которая последняя создавалась. Вопрос - как сделать, чтобы срабатывало на том элементе, чей чекбокс был нажат?


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class AlarmListAdapter extends ArrayAdapter<Alarm> {
    
    int resource;
    private LayoutInflater layoutInflater;
    private int alarmIndex;
    private Context context;
    private Alarm alarm;
    private View convertView;
 
    public AlarmListAdapter(Context context, int resource, List<Alarm> items) {
        
        super(context, resource, items);    
        
        this.context = context;
        layoutInflater = LayoutInflater.from(context);
        this.setNotifyOnChange(true);
        this.resource = resource;   
    }
    
    @Override
    public View getView(int position, View convertV, ViewGroup parent) {
            
        CheckBox checkBox;
        TextView nameView;
            
        alarm = getItem(position);
        
        convertView = convertV;
    
        if (convertView == null){
            
            convertView = layoutInflater.inflate(resource, null);   
            
            checkBox = (CheckBox) convertView.findViewById(R.id.alarm_checkbox);
            nameView = (TextView) convertView.findViewById(R.id.alarm_name);
            
            convertView.setTag(new AlarmHolder(nameView, checkBox));            
            checkBox.setFocusable(false);   
            
        } else {
            AlarmHolder alarmHolder = (AlarmHolder) convertView.getTag();
            checkBox = alarmHolder.getCheckBox();
            nameView = alarmHolder.getNameView();
        }           
            
        checkBox.setChecked(alarm.alarmOn); 
        
        checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                
                if (!isChecked){
                    convertView.setBackgroundColor(Color.RED);                  
                } else {                    
                    convertView.setBackgroundColor(Color.GREEN);
                }
            }
        });                 
        nameView.setText(alarm.getAlarmName());     
        return convertView;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru