Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
svirfneblyn
1 / 1 / 1
Регистрация: 16.10.2013
Сообщений: 16
#1

Textview. Изменение текста по нажатию кнопки не происходит - Программирование Android

08.02.2015, 21:47. Просмотров 2105. Ответов 4
Метки нет (Все метки)

Добрый день. Подскажите как же реализовывается подобное :

в методе onCreat получаем интент с id выбранного элемента на предыдущей активити.
Согласно этой активити ищем нужную информацию и передаем ее в ArrayList.
Хардкодом выводим первую запись в текствью.
Java
1
2
3
4
5
6
7
  (this.qDataSource= new QuotesDataSource((Context)this)).open();
        this.Data = intent.getStringExtra("Data");
        if (this.Data.equals("Movies")) {
          this.themId=intent.getLongExtra("MoviesId",1L);
            quotes = this.qDataSource.getQuotesByTheme(themId);
        }
        quote.setText( quotes.get(0).getText());
далее нужно при нажатии кнопок next и previos менять содержимое данного массива.
в методе onCleak методом перебора бежим по массиву , обрабатывая каждый клик и увеличивая или уменьшая индекс массива.
Но оно в лучшем случае обрабатывает первое нажатие и далее не реагирует
Подскажите , что упущено?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
 @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.nextButton:
 
                  this.quote.setText( this.quotes.get(i).getText());
                      i++;
            case R.id.previousButton:
           
                this.quote.setText( this.quotes.get(getNext(i,pervios)).getText());
           
        }
    }

http://www.cyberforum.ru/android-dev/thread2080902.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2015, 21:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Textview. Изменение текста по нажатию кнопки не происходит (Программирование Android):

Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Вот мой код MyActivity.java: package com.example.dasha; import...

Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio?
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал -...

Изменение даты в textView при нажатии на кнопки
Подскажите,как менять дату с помощью кнопок (предыдущая,следующая) или выбирать...

Динамическое изменение текста в TextView
Есть TextView в RelativeLayout, которое вмещает в себя надпись "Привет мир", а...

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

4
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 608
09.02.2015, 00:49 #2
Попробуйте так, после изменения текста. Это должно обновить представление
Java
1
2
this.quote.invalidate();
this.quote.requestLayout();
0
svirfneblyn
1 / 1 / 1
Регистрация: 16.10.2013
Сообщений: 16
09.02.2015, 22:24  [ТС] #3
Не обновляет представление почему то..
Вернее он показывает запись с индексом 0, потом сразу индекс 1.. ну а потом уже не реагирует на смену значения переменных.
В дебагере видно, что при клике на кнопку увеличивается, видно как меняется значение вытаскиваемое из массива. Подал просто "i" - валится эксепшн
Java
1
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
помощь гугла пока что не принесла результата (
Может еще как то можно докопаться до истины ?

Добавлено через 9 минут
Нашел в чем грабли, но не понял суть..

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void onClick(View v) {
        switch (v.getId()){
            case R.id.nextButton:
 
             
                String text = this.quotes.get(i).getText();
                this.quote.setText(text);
                       i++;
            case R.id.previousButton:
            getNext(i,pervios);
            this.quote.setText( this.quotes.get(2).getText());
             
 
        }
    }
Он заходит в метод onClicк и выполняет сразу два case . Подскажите, почему он лезет во второй case R.id.previousButton: ?? в лэйаут айдишники у кнопок разные.
И кнопки тоже разные . Одна обычная button, вторая ImageButton.
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
09.02.2015, 22:36 #4
Цитата Сообщение от svirfneblyn Посмотреть сообщение
Подскажите, почему он лезет во второй case R.id.previousButton: ??
Патамуша бричить нада, бричить нужный кейс

The break statements are necessary because without them, statements in switch blocks fall through: All statements after the matching case label are executed in sequence, regardless of the expression of subsequent case labels, until a break statement is encountered
1
svirfneblyn
1 / 1 / 1
Регистрация: 16.10.2013
Сообщений: 16
10.02.2015, 08:35  [ТС] #5
Кара святого Фаулера напала на меня. Нестоило книгу убирать в шуфлядку..
Спасибо! Жизнь снова преобретает смысл
0
10.02.2015, 08:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2015, 08:35
Привет! Вот еще темы с решениями:

Изменение размера текста кнопки вместе с размером самой кнопки?
Есть 100500 кнопок, нужно имитировать их нажатие. делаю это через селекторы...

Форматирование текста и действие по нажатию кнопки назад
День добрый! Столкнулся с такой проблемой: -есть текст и его надо выровнять...

Категорически не происходит адаптации textView
к размерам. Указываю размер текста в dpi. Но в разных телефонах с разными...

Изменение TextView
Доброго времени суток ! Подскажите, как можно выводить список слов в...


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

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

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