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

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

Войти
Регистрация
Восстановить пароль
 
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
#1

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

22.12.2015, 03:30. Просмотров 387. Ответов 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;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2015, 03:30     Как сохранить состояние выделенных checkbox и list data в Listactivity?
Посмотрите здесь:
Как сохранить состояние Service после перезагрузки телефона? Android
Как сохранить состояние хронометра при повороте экрана? Android
Состояние CheckBox в OptionsMenu Android
FragmentStatePagerAdapter сохранить состояние между смертями активности Android
Android ListActivity
Android ListActivity
Шрифт в ListActivity Android
Android Переход из ListActivity в Фрагмент
Android Не работает ActionBar в ListActivity
Конвертировании ListActivity в Fragment Android
Android Переход с ListActivity на другую активность
Android Программа вылетает при прокрутке ListActivity

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
22.12.2015, 11:47     Как сохранить состояние выделенных checkbox и list data в Listactivity? #2
сто раз уже писалось - проще всего отключить пересоздание активити так
в манифесте прописать строчку, там где настройки активити
XML
1
            android:configChanges="orientation|screenSize"
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
22.12.2015, 21:22  [ТС]     Как сохранить состояние выделенных checkbox и list data в Listactivity? #3
Благодарствую, всё работает
Yandex
Объявления
22.12.2015, 21:22     Как сохранить состояние выделенных checkbox и list data в Listactivity?
Ответ Создать тему
Опции темы

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