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

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

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

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

22.12.2015, 03:30. Просмотров 437. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2015, 03:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сохранить состояние выделенных checkbox и list data в Listactivity? (Программирование Android):

Как сохранить состояние хронометра при повороте экрана? - Программирование Android
в программе запускается хронометр Chronometer chronometer = (Chronometer) findViewById(R.id.chronometer); chronometer.start(); ...

Как сохранить состояние Service после перезагрузки телефона? - Программирование Android
Как сохранить состояние Service после перезагрузки телефона??? т.е мне нужно чтоб сервис начал работать не сначала, а на том месте где...

Состояние CheckBox в OptionsMenu - Программирование Android
Имею в меню чекбокс. Хочу, чтобы при нажатии на него сохранялось его состояние. Сейчас при нажатии на чекбокс он просто исчезает, а при...

FragmentStatePagerAdapter сохранить состояние между смертями активности - Программирование Android
Доброго времени суток. Есть активность, на ней создаётся базовый фрагмент, которому задаю наследника FragmentStatePagerAdapter, имеющий в...

Сохранить состояние презентера при пересоздании (повороте) активити - Программирование Android
Вот у презентера можно реализовать метод onDetach() в котором он обнуляет ссылку на активити то есть как бы на View(при пересоздании...

.NET 4.x Как сохранить состояние List до сортировки? - C#
Есть List<String>. В программе используется его сортировка, но так же нужно в некоторый момент и несортированное состояние. Каким образом...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
22.12.2015, 11:47 #2
сто раз уже писалось - проще всего отключить пересоздание активити так
в манифесте прописать строчку, там где настройки активити
XML
1
            android:configChanges="orientation|screenSize"
1
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
22.12.2015, 21:22  [ТС] #3
Благодарствую, всё работает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2015, 21:22
Привет! Вот еще темы с ответами:

Как сохранить состояние (стоит галочка или нет) в CheckBox? - C#
Здравствуйте. Необходимо, чтобы при очередном запуске проги сохранялось состояние CheckBox. т.е. если я поставил галочку, другой раз...

Как сохранить состояние checkBox при смене значения comboBox - C#
Прошу помощи, имеется бд microsoft access, к которой присоединен comboBox, имеется несколько checkBox, как сохранить значения выбранных...

Сохранить состояние checkBox в ini (Работа с QSettings) - C++ Qt
Всем доброго времени суток. На данный момент сохраняю в ini состояние текущего окна, т.е. его размеры. Реализовано следующим...

Сохранить состояние CheckBox, используя текстовый файл - C#
Привет всем, есть menuStrip, в нем есть команды с выбором Checked, подскажите как реализовать такой момент что бы допустим я поставил на...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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