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

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

Войти
Регистрация
Восстановить пароль
 
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
#1

Отметить все - Android

28.02.2014, 16:37. Просмотров 715. Ответов 5
Метки нет (Все метки)

Здоровенько!
вообщеем есть список.. В каждом элементе чекбокс. и есть еще один чекбокс который должен типа выделить всё... низнай ваще чо делать. Подскажите.. пытался получить все чекбоксы из списка вот так

Java
1
2
3
4
5
6
7
8
9
10
checkBoxAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                
              
                for (int i = 0; i > listView.getAdapter().getCount(); i++){
                    CheckBox rowCheck =         (CheckBox)listView.getAdapter().getView(i, НИЗНАЙ ЧО ПИСАТЬ).findViewById(R.id.checkRow);
                    rowCheck.setChecked(b);
                }}
        });
ну вообщем никак не получу я помогите....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 16:37     Отметить все
Посмотрите здесь:

Как отметить две даты на диалоговом Календаре Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
04.03.2014, 10:32  [ТС]     Отметить все #2
Ребята как реализовать вот такую штуку. (ОТМЕТИТЬ ВСЕ ЧЕКБОКСЫ НА итемах)...НУ КАК?
Миниатюры
Отметить все  
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
04.03.2014, 11:04     Отметить все #3
Цитата Сообщение от kirawa Посмотреть сообщение
Ребята как реализовать вот такую штуку
Не совсем понятен вопрос. Вас интересует как программно отмечать пункты списка или как сделать такую панельку сверху с галочкой "Отметить всё" ?
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
04.03.2014, 11:14  [ТС]     Отметить все #4
меня интерисует
Цитата Сообщение от angryrobot Посмотреть сообщение
как программно отмечать пункты списка
я вот низнаю даже на какое событие то опиратся...
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
04.03.2014, 11:28     Отметить все #5
Цитата Сообщение от kirawa Посмотреть сообщение
меня интерисует
Вот пример кода который проясняет как это делается:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView list = (ListView) findViewById(R.id.listView1);
        String items[] = {"Первый", "Второй", "Третий", "Четвертый", "Пятый", "Шестой", "Седьмой", "Восьмой"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, android.R.id.text1, items);
        list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        list.setAdapter(adapter);
        //выбираем пункты списка
        list.setItemChecked(0, true);
        list.setItemChecked(3, true);
        list.setItemChecked(5, true);
    }
}
Отметить все
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
04.03.2014, 14:56  [ТС]     Отметить все #6
ща буду разбиратся

Добавлено через 1 час 31 минуту
К сожелению я не смог сделать. В данном примере используется разметка CheckedTextView и ArrayAdapter/ У меня адаптер кастомный от BaseAdaptera.

Java
1
2
3
4
5
6
7
8
9
10
 checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                if (b){
                    for (int  i = 0; i < notes.size();i++){
                    listView.setItemChecked(i,true);
                  }
                }
            }
        });
это не помогло увы

Добавлено через 24 минуты
я конечно же не прав, но я думаю так. Значит есть класс:

Java
1
2
3
4
5
6
7
8
9
10
public class Note {
    boolean check;
 
    public void setCheckAl(boolean check){
        this.check = check;
    }
    public boolean getCheck(){
        return check;
    }
}
Вот он чекбокс:
Java
1
2
3
4
5
6
7
8
9
10
 checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                if (b){
                    for (int  i = 0; i < notes.size();i++){
                        notes.get(i).setCheckAl(true);
                  }
                }
            }
        });
И в адаптере в getView
Java
1
2
3
if (notes.getCheck()){
            holder.checkBoxRow.setChecked(true);
        }
поидее работает если boolean check; присвоить сразу тру... Вообщеем от какого события оттолкнутся? или еще чем нибудь помогите

Добавлено через 14 минут
вообщем велосипед по передача тру в параметр базового адаптера работает, но велосипед

Добавлено через 59 минут
вообщем вопрос закрыт
Теория гласит не используй костыли, но практика говорит идите на х.....
Yandex
Объявления
04.03.2014, 14:56     Отметить все
Ответ Создать тему
Опции темы

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