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

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

Войти
Регистрация
Восстановить пароль
 
Alex_Fedor
26 / 26 / 3
Регистрация: 20.01.2015
Сообщений: 206
#1

Как правильно инициализировать и заполнить список - Android

08.10.2016, 18:21. Просмотров 133. Ответов 2
Метки нет (Все метки)

Сам понимаю что где интенсивно уж 3- час торможу. Вопрос по ArrayList
Мне надо создать список моих объектов.
Создаем объект.
Java
1
2
3
4
5
6
7
public class stDataFillAns {
    public String engPhrs;//английская фраза
    public String rusPhrs;//русская фраза перевод
    public int  corAns;// кол-во правильных ответов
    public int dntCorAns;// кол-во неправильных ответов
    public boolean rigAns;// признак того что ответ правильный
}
Объявляю их
Java
1
2
stDataFillAns stData=new stDataFillAns();//структура повторяет строку из БД
    ArrayList<stDataFillAns> listDataFillAns=new ArrayList<stDataFillAns>();//в этом списке копия БД
Заполняю список значениями из БД
Java
1
2
3
4
5
6
7
8
9
10
do {//заполняем список данными
                stData.engPhrs=cursor.getString(engPhrs);
                stData.rusPhrs=cursor.getString(rusPhrs);
                stData.corAns=cursor.getInt(corAns);
                stData.dntCorAns=cursor.getInt(dntCorAns);
                stData.rigAns=false;//по умолчанию все ответы не верные
                listDataFillAns.add(stData);
                //Log.d(MY_LOG, stData.engPhrs+"  "+stData.rusPhrs);
                
            } while (cursor.moveToNext());
Причем в stData данные корректно пишутся. А вот в listDataFillAns эту stData запихнуть не получается. В listDataFillAns почему то пишется только последнее значение.

Добавлено через 1 час 55 минут
Вопрос снят, надо было LinkedList использовать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2016, 18:21     Как правильно инициализировать и заполнить список
Посмотрите здесь:

Как правильно написать меню? Android
Где в Фрагменте инициализировать доступ к базе? Android
Android Как правильно парсить?
Как частично заполнить цветом кнопку Android
Android Как правильно сверстать в android
Android Как правильно удалить Eclipse?
Как заполнить ListView массивом сообщений из AynkTask? Android
Android Как лучше инициализировать контекст активити
Как заполнить заголовок звукового файла? Android
Как правильно распарсить Json? Android
Как заполнить в ListView второй element из Jsoup? Android
Как правильно использовать LeakCanary? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2011 / 1753 / 545
Регистрация: 12.05.2014
Сообщений: 6,207
Завершенные тесты: 1
08.10.2016, 20:52     Как правильно инициализировать и заполнить список #2
Цитата Сообщение от Alex_Fedor Посмотреть сообщение
надо было LinkedList использовать
чушь полная
Alex_Fedor
26 / 26 / 3
Регистрация: 20.01.2015
Сообщений: 206
08.10.2016, 21:03  [ТС]     Как правильно инициализировать и заполнить список #3
Пример работающего кода.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class DataForFolder {// этот класс хранилище данных для описания и отображения типа структуры
        File file;//путь к файлу 
        //String nameFolderOrFile;//имя отображаемой папки или файла
        int level;// уровень вложения папки или файла
        boolean open;//если папка открыта то труе, если папака закрыта то фальсе
        public DataForFolder(File file,int level, boolean open) {
            // TODO Auto-generated constructor stub
            this.file=file;
            //this.nameFolderOrFile=nameFolderOrFile;
            this.level=level;
            this.open=open;
        }
    
}
Объявление на уровне глобальных переменных
Java
1
LinkedList<DataForFolder> dataForFolder=new LinkedList<DataForFolder>();
И заполнение где то в коде
Java
1
dataForFolder.add(new DataForFolder(f, 0,false));//заполняем массив описаниями
Yandex
Объявления
08.10.2016, 21:03     Как правильно инициализировать и заполнить список
Ответ Создать тему
Опции темы

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