Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 3

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

10.06.2016, 11:49. Показов 989. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2016, 11:49
Ответы с готовыми решениями:

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

Как программно изменить textview?
Мне нужно изменить TextView на многострочный текст, используя переменную. . Пример ниже. String gtext =...

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

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

Разметка для кнопок и 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(D BHelper.UID));//столбцы из базы данных
String nameText = cursor.getString(cursor.getColumnIndex(D BHelper.NAME_COLUMN));
String dealText = cursor.getString(cursor.getColumnIndex(D BHelper.DEAL_COLUMN));
String dateText = cursor.getString(cursor.getColumnIndex(D BHelper.TIME_COLUMN));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2016, 18:54
Помогаю со студенческими работами здесь

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

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

Программно изменить TextView и остановить таймер в ListView с multiple CountDownTimer
Как по событию финишировать таймер и поменять TextView (tvStateClose и tvTimeRemainingClose) ? Собираю список ...

Научите программно добавлять элементы управления
Собственно требуется программно добавить TextBox (это пока, а потом возможно и других элементов) на форму. Вопрос - как это сделать?...

Как программно добавлять пункты в testToolStripMenuItem
Как программно добавлять пункты в testToolStripMenuItem. И обрабатывать по нам клик.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru