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

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

Войти
Регистрация
Восстановить пароль
 
onDestroy
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 3
#1

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

10.06.2016, 11:49. Просмотров 236. Ответов 2
Метки нет (Все метки)

Сделал Базу Данных, сохраняет и удаляет данные нормально, но нормально вывести на экран данные не получается. Т.е. я написал в ЭдитТекстах данные, которые нужно заполнить, они добавились в бд, вывожу на экран выводить
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 из баз данных
Извините, за сплошной текст) заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2016, 11:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В БД программно добавлять строки из нескольких TextView (Программирование Android):

TextView задать отступ программно - Программирование Android
Программно создаю TextView . Присваиваю ему ряд значений textView.setGravity(Gravity.CENTER); textView.setMaxEms(10); ...

Как программно изменить textview? - Программирование Android
Мне нужно изменить TextView на многострочный текст, используя переменную. . Пример ниже. String gtext = &quot;elements/123.txt&quot;; try...

Как программно изменить текст в TextView - Программирование Android
Как из MainNavigationActivity изменить текст в шапке меню? Там где текст @Android Studio@

Как программно поменять альфу у TextView? - Программирование Android
Приветствую вас, Форумчане! Не подскажите ли, как программно поменять параметр Alpha у TextView? Надо поменять альфу на 0.3. Спасибо!

TextView друг под другом программно - Программирование Android
Добрый день! Появилась проблемка с динамическим расположением элементов TextView, проблема в том что на 0-ой элемент налаживается...

Текст из TextView перенести в другой TextView по нажатию Button - Программирование Android
Люди, помогите плиз. Недавно начал ковырять программирование под Android. Хотел сделать банальную вещь - текст из TextView перенести в...

2
SeregaJ
9 / 9 / 0
Регистрация: 20.05.2016
Сообщений: 153
10.06.2016, 11:57 #2
onDestroy, идею не понял ). Используйте DataBinding - уйдет куча "мусора" из логики...
0
onDestroy
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 3
10.06.2016, 18:54  [ТС] #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));
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2016, 18:54
Привет! Вот еще темы с ответами:

Обновление строки TextView - Программирование Android
допустим, есть приложение в котором в TextView выводится вопрос, и есть две кнопки да или нет, так же кнопка next, так вот как реализовать...

Передать из строки ListView в 2 поля TextView? - Программирование Android
Добрый всем! Добавлено через 8 минут есть ListView в нем добавлены/добавляются из полей TextView данные (Name и Email) а так же...

TextView txt = new TextView(this); - ошибка - Программирование Android
Возникла проблема с динамическим создание TextView в цыкле, хотя в другом месте создается таким же образом все нормально TextView txt =...

AS 2.0 Как программно добавлять запись в htmlText? - ActionScript
Добырй день, подскажите пожалуйста. Есть текстовое поле и кусок кода txt.html = true; for (i = 10; i &gt; 0; i--) { txt.htmlText...


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

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

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