Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
1

ListView из текстового файла

31.05.2018, 13:23. Просмотров 558. Ответов 12
Метки нет (Все метки)

Нужно сделать построчное считывание файла txt c занесением строк в ListView. К примеру имеется файл с n количеством строк. Нужно содержимое строки заносить в соответствующую строку ListView.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2018, 13:23
Ответы с готовыми решениями:

ListView и массив из текстового файла
Добрый день ув. Программисты. Второй день гуглю) и пробую, без результата( Примечание: есть...

Считывание текстового файла в столбцы ListView
Есть листвью со столбцами public partial class Form1 : Form { public Form1() ...

Отбор записей из текстового файла в listview
Всем привет! На форме - combobox, listview. ТАк же есть некий текстовый файл с данными формата:...

TreeView и ListView. Дерево каталогов и файлов из текстового файла
Прошу помощи в реализации следующей задачи. Программа "Агент" (установленная на клиентском...

Как из текстового файла поместить значения в listview с разбивкой по столбцам с разделителем |
Как из текстового файла поместить значения в listview с разбивкой по столбцам с разделителем |....

12
Pablito
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
31.05.2018, 13:28 2
алё, что за приказной тон?
сделай если тебе надо
0
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
31.05.2018, 13:55  [ТС] 3
Зачем разводить оффтоп? Я работаю над этим, но не могу сделать вывод строк в ListView. Само считывание строк у меня есть
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 try {
            FileInputStream fstream = new FileInputStream("sdcard/file.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
            String strLine;
            String[] linesss;
            while ((strLine = br.readLine()) != null) {
 
                Toast toast = Toast.makeText(getApplicationContext(),
                        strLine, Toast.LENGTH_SHORT);
                linesss = new String[strLine.length()];
               
                toast.show();
//Вопрос по адаптеру
                ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,R.layout.activity_main,strings);
                list1.setAdapter(adapter1);
 
            }
0
demixdn
312 / 256 / 80
Регистрация: 31.10.2016
Сообщений: 619
31.05.2018, 14:23 4
Jokes, не вижу чтоб вы их где-то сохраняли, чтоб потом показать.
0
31.05.2018, 14:23
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
31.05.2018, 14:37  [ТС] 5
Ну если я не сделал, можно подсказать как, а не предъявлять
0
demixdn
312 / 256 / 80
Регистрация: 31.10.2016
Сообщений: 619
31.05.2018, 15:08 6
1. объявляете список своих строк
Java
1
List<String> strings = new ArrayList<>();
2. при считывании добавляете их в список
Java
1
2
3
while ((strLine = br.readLine()) != null) {
    strings.add(strLine);
}
3. создаете адаптер и отдаете его ListView
Java
1
2
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, <id разметки (TextView) для элемента>,  strings);
listView.setAdapter(adapter);
в качестве стандартного обычно берут android.R.layout.simple_list_item_1 но можете сами создать разметку для элемента
0
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
31.05.2018, 16:30  [ТС] 7
Компилится, но приложение вылетает при вызове события. Строки из файла отображаются в listview через запятую. Может в этом проблема не знаю
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void testclick(View v) {
        try {
            FileInputStream fstream = new FileInputStream("sdcard/file.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
            String strLine;
            List<String> strings = new ArrayList<>();
            while ((strLine = br.readLine()) != null) {
                strings.add(strLine);
                ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, R.layout.activity_main, strings);
                list1.setAdapter(adapter1);
            }
        } catch (IOException e) {
            Toast toast = Toast.makeText(getApplicationContext(),
                    "Ошибка", Toast.LENGTH_SHORT);
            toast.show();
        }
    }
0
+1
328 / 161 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
31.05.2018, 16:45 8
Цитата Сообщение от Jokes Посмотреть сообщение
while ((strLine = br.readLine()) != null) { strings.add(strLine); ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, R.layout.activity_main, strings); list1.setAdapter(adapter1); }
Ты по каждой строке создаешь и присваиваешь новый адаптер.
Вот так сделай
Java
1
2
3
4
5
6
7
while ((strLine = br.readLine()) != null) {
                strings.add(strLine);
            }
                ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, R.layout.activity_main, strings);
                list1.setAdapter(adapter1);
                fstream.close();
                br.close();
0
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
31.05.2018, 17:07  [ТС] 9
Все равно приложение вылетает.
0
+1
328 / 161 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
31.05.2018, 17:15 10
Цитата Сообщение от Jokes Посмотреть сообщение
Все равно приложение вылетает.
... и пишет ошибку ...
0
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
31.05.2018, 17:32  [ТС] 11
05-31 17:29:41.637 5038-5038/android.com.experimental E/ArrayAdapter: You must supply a resource ID for a TextView
05-31 17:29:41.638 5038-5038/android.com.experimental D/AndroidRuntime: Shutting down VM
05-31 17:29:41.652 5038-5038/android.com.experimental E/AndroidRuntime: FATAL EXCEPTION: main
Process: android.com.experimental, PID: 5038
java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
0
demixdn
312 / 256 / 80
Регистрация: 31.10.2016
Сообщений: 619
31.05.2018, 17:38 12
Цитата Сообщение от demixdn Посмотреть сообщение
<id разметки (TextView) для элемента>
Цитата Сообщение от demixdn Посмотреть сообщение
в качестве стандартного обычно берут android.R.layout.simple_list_item_1 но можете сами создать разметку для элемента
предлагаю вам все же читать сообщения.
0
Jokes
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 58
31.05.2018, 17:45  [ТС] 13
Все нашел как решить
0
31.05.2018, 17:45
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2018, 17:45

Сделать, чтобы при чтении из текстового файла данные записывались в определенные колонки в ListView
Как сделать, чтобы при чтении из текстового файла данные записывались в определенные колонки в...

Как сделать, чтобы при чтении из текстового файла 3 значений, они заносились в определенные столбцы в ListView
Как сделать, чтобы при чтении из текстового файла 3 значений, они заносились в определенные столбцы...

Добавить в конец первого текстового файла содержимое второго текстового файла
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.


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

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

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