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

В БД программно добавлять строки из нескольких TextView - Android

Восстановить пароль Регистрация
 
onDestroy
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 3
10.06.2016, 11:49     В БД программно добавлять строки из нескольких TextView #1
Сделал Базу Данных, сохраняет и удаляет данные нормально, но нормально вывести на экран данные не получается. Т.е. я написал в ЭдитТекстах данные, которые нужно заполнить, они добавились в бд, вывожу на экран выводить
1 <имя> <данные> <время> - все нормально. Заполняю 2 раз, что бы добавить новые данные, а на этот раз в этом же ScrollView выводятся
1 <имя> <данные> <время>
1 <имя> <данные> <время>
2 <имя2> <данные2> <время2>
При третьем заполнении уже
1 <имя> <данные> <время>
1 <имя> <данные> <время>
2 <имя2> <данные2> <время2>
1 <имя> <данные> <время>
2 <имя2> <данные2> <время2>
3 <имя3> <данные3> <время>
Короче дублируются данные, не знаю как решить... может есть ккакой-нибудь метод для очистки view и layout элементов.
Код вставки данных:
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
        View items = ltInflater.inflate(R.layout.table_element, layoutForTable, false);
        TextView textViewID = (TextView) items.findViewById(R.id.textViewID);
        TextView textViewName = (TextView) items.findViewById(R.id.textViewName);
        TextView textViewDeal = (TextView) items.findViewById(R.id.textViewDeal);
        TextView textViewTime = (TextView) items.findViewById(R.id.textViewTime);
 
        LinearLayout layoutForTable = (LinearLayout) findViewById(R.id.layoutForTable);
        LayoutInflater ltInflater = getLayoutInflater();
 
void showResult(String id, String name, String deal, String time, int index) {
       textViewID.setText(id);
       textViewName.setText(name);
       textViewDeal.setText(deal);
       textViewTime.setText(time);
        if (index < 0) {
            layoutForTable.addView(items);
        } else {
            layoutForTable.addView(items, 0);
        }
  public void onClick(View v) {
 
showResult(idText, nameText, dealText, dateText, -1);
 
}
idText, nameText, dealText, dateText - значения типа String из баз данных
Извините, за сплошной текст) заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2016, 11:49     В БД программно добавлять строки из нескольких TextView
Посмотрите здесь:

Android TextView и картинкака
Android Обратиться к TextView
Обновление строки TextView Android
Android Как программно поменять альфу у TextView?
Android Передать из строки ListView в 2 поля TextView?
Часы в TextView Android
Android Клик по textview
Как программно изменить textview? Android
Вылетает TextView Android
TextColor textView Android
TextView друг под другом программно Android
TextView задать отступ программно Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SeregaJ
9 / 9 / 0
Регистрация: 20.05.2016
Сообщений: 153
10.06.2016, 11:57     В БД программно добавлять строки из нескольких TextView #2
onDestroy, идею не понял ). Используйте DataBinding - уйдет куча "мусора" из логики...
onDestroy
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 3
10.06.2016, 18:54  [ТС]     В БД программно добавлять строки из нескольких TextView #3
Короче вот схема:
Так должно быть

Разметка для кнопок и EditText ___________для самой таблицы
--------------------------------------------------------------------------------------------------
[EditTextForID] ID__________| ID ____ Имя ________ Задача _____________ время __|
[EditTextForName] Name____| 1 ______ кот ____ помыть кота _____________ 10:30 _|
[EditTextForTask] Task_______| 2 ____ магазин ___ сходить за продуктами ___ 11:15 |
[EditTextForTime] Time______| 3 _____ еда ______ приготовить суп _________ 12:00 |
---------------------------------- | 4 ____ игры ______ сыграть в игру _________ 13:05__|
[ButtonAdd]__ [ButtonDel] ___|
(добавить) __ (удалить) ____ |
--------------------------------------------------------------------------------------------------

Так происходит
Разметка для кнопок и EditText ___________для самой таблицы
--------------------------------------------------------------------------------------------------
[EditTextForID] ID__________| ID ____ Имя ________ Задача _____________ время __|
[EditTextForName] Name____| 1 ______ кот ____ помыть кота _____________ 10:30_ |
[EditTextForTask] Task______| 1 ______ кот ____ помыть кота _____________ 10:30 _|
[EditTextForTime] Time_____| 2 ____ магазин ___ сходить за продуктами ___ 11:15__|
----------------------------------| 1 ______ кот ____ помыть кота _____________ 10:30__|
[ButtonAdd]__ [ButtonDel] __ | 2 ____ магазин ___ сходить за продуктами ___ 11:15 _|
__________________________| 3 _____ еда ______ приготовить суп _________ 12:00_|
--------------------------------------------------------------------------------------------------


__(нижнее подчеркивание) стоит место пробелов, что бы было удобнее видеть таблицу
Короче как только я нажимаю кнопку добавить, добавляется не просто новые внесенные данные, а вся база данных.
не знаю как это исправить.
+ ещё одна проблема: как при удалении отчистить разметку для таблицы от текста

Добавлено через 5 часов 49 минут
В общем нашел решение сам: надо в методе нажатия кнопки (onClick) прописать cursor.moveToLast и после этого добавлять текст в TextView :
cursor.moveToLast();
String idText = cursor.getString(cursor.getColumnIndex(DBHelper.UID));//столбцы из базы данных
String nameText = cursor.getString(cursor.getColumnIndex(DBHelper.NAME_COLUMN));
String dealText = cursor.getString(cursor.getColumnIndex(DBHelper.DEAL_COLUMN));
String dateText = cursor.getString(cursor.getColumnIndex(DBHelper.TIME_COLUMN));
Yandex
Объявления
10.06.2016, 18:54     В БД программно добавлять строки из нескольких TextView
Ответ Создать тему
Опции темы

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