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

Как сохранить состояние выделенных checkbox и list data в Listactivity? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Системный вызов sendto http://www.cyberforum.ru/android-dev/thread1621628.html
Подскажите пожалуйста, что делает системный вызов sendto в Andoid? Конкретное какие за какие действия отвечает?
Программирование Android Получить информация об устройстве Android на Java Здраствуйте! Подскажите пожалуйста, как получить характеристики телефона Android: количество ядер CPU, частота ядер CPU, общий объем ОЗУ и жесткого диска, разрешение камеры(основной и фронтальной).... http://www.cyberforum.ru/android-dev/thread1621063.html
Программирование Android Нужно сохранить 2000 бит посредством Preferences
Изощренная постановка. кроме как написать какой нить string есть варианты?
Программирование Android Мониторинг системных вызовов
Добрый день. Подскажите пожалуйста чем можно мониторить системные вызовы в Android? Я хочу установить вредоносное программное обеспечения и проследить его работы с системными вызовами чтобы понять...
Программирование Android Стили в AndroidStudio для разных API http://www.cyberforum.ru/android-dev/thread1620825.html
Всем добрый день! Тема уже избитая, перечитал кучу всего, но все-таки не могу разобраться самостоятельно. Я создаю новое приложение в Android Studio, выбираю минимальную версию SDK - API15: Android...
Программирование Android Ест задача по написанию приложения для чтения NFC. Возмездно! Собственно нужна достаточно простая прога для распознавания NFC меток, которая будет автоматически сканировать всю информацию с неё и отправлять на сервер ( на IP или на доменное имя сайта).... подробнее

Показать сообщение отдельно
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52

Как сохранить состояние выделенных checkbox и list data в Listactivity? - Программирование Android

22.12.2015, 03:30. Просмотров 442. Ответов 2
Метки (Все метки)

Здравствуйте. Было задание сделать ListView c CheckBox, при нажатии на кнопку Add добавляется случайное число в ListActivity. Если выделить любые чекбоксы, всё должно удаляться. Я это сделал, всё рвботает, но при повороте эмулятора случайные числа пропадают(вместе с чекбоксами) и нужно по новой добвлять числа. Т.е. понятно, что прогрмма прошла через onDestroy и onCreate. Подскажите, пожалуйста, как мне сохранить состояние программы при повороте. Я думал про bundle, но у меня sparsebooleanarray, непонятно как это сделать(

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
public class MainActivity extends ListActivity {
 
    ArrayList list = new ArrayList();
    ArrayAdapter adapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button add = (Button) findViewById(R.id.add_button);
        Button delete = (Button) findViewById(R.id.delete_button);
 
        adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, list);
 
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                list.add(generateRandom());
                adapter.notifyDataSetChanged();
                runOnUiThread(new Runnable() {
                    public void run() {
                        adapter.notifyDataSetChanged();
                    }
                });
            }
        });
 
        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SparseBooleanArray checkedItemsPosition = getListView().getCheckedItemPositions();
 
                int itemcount = getListView().getCount();
 
                for (int i = itemcount-1;i>=0;i--){
                    if(checkedItemsPosition.get(i)){
                        adapter.remove(list.get(i));
                    }
                }
                checkedItemsPosition.clear();
                runOnUiThread(new Runnable() {
                    public void run() {
                        adapter.notifyDataSetChanged();
                    }
                });
            }
        });
 
        setListAdapter(adapter);
    }
    private static int generateRandom(){
        Random rn = new Random();
        int number = rn.nextInt(10) + 1;
        return number;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru