Как избежать обновления TextView / TextSwitcher в setViewValue? - PullRequest
1 голос
/ 22 мая 2011

Я обновляю текст моего TextSwitcher в коде setViewValue.Но если значение базы данных не изменилось, я бы хотел избежать ее обновления.Вот мой текущий код:

public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
    int viewId = view.getId();
    switch(viewId) {
    case R.id.timetext:
         TextSwitcher twTime = (TextSwitcher) view;
         // something is wrong in the next line
         if (!cursor.getString(columnIndex).equals(getText(viewId)))
         {
            twTime.setText(cursor.getString(columnIndex));
         }
         return true;

Почему-то данные все еще обновляются.Почему?

Похоже, getText() не работает должным образом с TextSwitcher.Как получить его значение?

1 Ответ

2 голосов
/ 22 мая 2011

Хорошо, я нашел ответ. Прежде всего, чтобы получить текст TextSwitcher, необходимо использовать следующий код:

TextView tv = (TextView) twTime.getCurrentView();
if (!cursor.getString(columnIndex).equals(tv.getText().toString())) {
    twTime.setText(cursor.getString(columnIndex));
}

но до этого

twTime.setCurrentText(cursor.getString(columnIndex));

следует использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...