2012-08-03 83 views
2

我試圖實現一個函數,當TextView包含太多文本行時,可以在用戶點擊按鈕後摺疊成2行。預計當用戶再次點擊該按鈕時,TextView應該顯示它包含的全文。 在collapseView()方法,我下面用setEllipsizeAndroid - 展開橢圓化TextView

private void collapseView() { 
     m_vwText.setMaxLines(2); 
     m_vwText.setEllipsize(TruncateAt.END); 
     m_vwExpandButton.setText(EXPAND); 
    } 

所以我不知道我應該在expandView()方法做,以顯示包含在TextView所有行。請提前幫助和感謝。

回答

0

一個想法是將原始的TextView值存入一個臨時變量並保存在那裏,並在customView()方法中使用它。

前:,在onCreate()

String originalText=m_vwText.getText().toString(). 

然後在你的expandView()你只是originalText

private void expandView(){ 
    m_vwText.setText(originalText); 
} 
+0

謝謝你的工作,我已經試過了,但不知它不工作(在'的TextView '仍然顯示橢圓形文字。)我會試着找出問題的真相。 – 2012-08-03 12:57:36

+0

最可能的問題是因爲TextView保留了collapseView()的ellipsize設置:m_vwText.setEllipsize(TruncateAt.END);.在expandView()中,您將需要以某種方式重置此設置,然後設置原始文本。如果回答您的問題,請將答案標記爲已接受。 – 2012-08-03 13:01:17

+0

奇怪的是,當我創建一個'Toast'來嘗試顯示原始文本時,它顯示全文很好,但是我爲'm_vwText'調用的'setText'仍然無法顯示全文。這真讓我感到困惑。 – 2012-08-03 15:16:30