Android как обновить textview на интерфейсе - PullRequest
1 голос
/ 17 декабря 2011

У меня есть текстовое представление в деятельности. Я меняю свою видимость.

if(CheckBookmark(Constants.versusHeading.get(curVCount))) {
    bookmark.setVisibility(View.VISIBLE);
    bookmark.setText("Bookmarked");
}
else {
    bookmark.setVisibility(View.GONE);
}

но пользовательский интерфейс не обновляется. Я пробовал bookmark.invalidate() и bookmark.postinvalidate(), но не сработало. Если я изменю видимость textview, как мне обновить интерфейс? Деятельность еще жива и работает.

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

Затем пользователь создает закладку. Checkbookmark возвращает true, если закладка успешно создана. В этом случае я добавляю закладку как текст. Я устанавливаю это видимым, поскольку это не работало. Если я прекращаю деятельность и возвращаюсь, отображается текст закладки.

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

В целом все должно работать так, как есть. Пользовательский интерфейс будет обновлен.

Вы должны убедиться, что ваш if if else возвращается корректно.

Попробуйте установить текстовое представление в VISIBILE изначально, чтобы увидеть, появляется ли оно, а затем попробуйте переключить видимость TextView

0 голосов
/ 18 декабря 2011

Как говорит Прамод, попробуйте

setVisibility(View.INVISIBLE) 

вместо

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