2011-12-17 48 views
1

我在活動中有一個textview。我正在改變它的知名度。Android如何更新UI上的textview

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

但UI未更新。我試過bookmark.invalidate()bookmark.postinvalidate(),但沒有奏效。如果我更改textview可見性如何刷新UI?活動仍然在運行。

好吧我想我需要添加更多的細節。我的壞處應該首先提到....最初當活動顯示書籤是可見的,但沒有文字。

然後用戶創建書籤。如果書籤成功創建,Checkbookmark將返回true。在這種情況下,我添加書籤爲文本。我設置爲可見,因爲它不工作。如果我退出活動並返回,則顯示書籤文本。

+1

一般它應該以這種方式工作。在哪裏以及如何吸引「書籤」? – 2011-12-17 19:48:35

+1

可能是if-condition('CheckBookmark(Constants.versusHeading.get(curVCount))')總是具有相同的值嗎? – 2011-12-17 19:54:19

+0

嘗試bookmark.setVisibility(View.INVISIBLE)而不是bookmark.setVisibility(View.GONE) – Pramod 2011-12-17 20:15:40

回答

1

總的來說,它應該按照你擁有的方式工作。 UI將更新。

您需要確定您的if else是否正確返回。

嘗試設置TextView的來分享範圍intially,看看它出現,然後嘗試切換的TextView的知名度

+0

對不起人們...我的錯誤。我是在用戶按書籤按鈕時調用setChapterContent()函數,但我沒有。我的壞 – Abid 2011-12-17 23:35:04

0

作爲普拉莫德說,嘗試

setVisibility(View.INVISIBLE) 

,而不是

setVisibility(View.GONE) 
+0

好吧,我想我需要添加更多的細節....最初當活動顯示書籤是可見的,但沒有文字。然後用戶創建書籤 if(CheckBookmark(Constants.versusHeading.get(curVCount))){bookmark.setVisibility(View.VISIBLE); bookmark.setText(「Bookmarked」); } else { bookmark.setVisibility(View.GONE); } – Abid 2011-12-17 23:13:47