2011-03-16 79 views
4

我有一個TextView,我的需求是通過代碼在該TextView中添加10個字符。但是當字符大於10時,它們應該顯示在TextView中,但是該charsequence的值爲8 character + ..。當我想閱讀TextView的文本時,我必須得到完整的charsequence而不是8 character + ..。例如TextView setText問題

tv.settext(「ASDFGHJKLQ」)//這是10個字符長,所以沒有規則需要

tv.settext("ASDFGHJKLOP") //這是超過10個字符,那麼它應該是顯示作爲 ASDFGHJK..在textView中,但是當我檢索textview的值時,它應該返回ASDFGHJKLOP而不是ASDFGHJK..,那麼如何完成。

該textView是一個列表視圖的行。

回答

5

嘗試添加以下內容到TextView的(字幕或結尾):

android:ellipsize="marquee" 

您可能還需要:

android:scrollHorizontally="true" 

沒有scrollHorizo​​ntally = 「真」,你還可以得到文本包裹,而不是附加...我使用這兩行來在我的應用程序中顯示列表視圖。我已經正確追加了3條長線。

+0

即使你的回答是正確的,你也投票了。奇怪的。 – Reno 2011-03-16 15:13:28

+0

是的。通常相互競爭的答案會讓人發瘋。這是一個愚蠢的遊戲。你可以在它上面加上勾號,如果它有效並且它們不能撤消;) – 2011-03-16 17:04:59

4

此截斷髮生是因爲它不適合您的列表項目。減少字體?

or ellipsize

+0

我想截斷,但是當我檢索值時,我必須得到原始值不被截斷。 – 2011-03-16 13:12:34

+0

您想要ellipsize。它正是你想要做的。它會截斷顯示,但保持該值。 – 2011-03-16 14:20:00

+0

@低調選民的照顧解釋? – Reno 2011-03-16 14:37:17

1

我看到只有一個解決方案。但也許有另一種解決方案。

存儲你的字符串。

如果字符串的長度被設定爲12345678您的TextView的文本超過10個字母..

如果你想獲得合適的文本,你應該採取的字符串值,而不是TextView中的。

+0

它不適用於那些用作列表視圖行的文本視圖。 – 2011-03-16 13:39:21

+0

使用ArrayList與ArrayList 爲你列表視圖,所以你可以得到每個列表項的正確的字符串,併爲每個列表視圖項目設置正確的值 – Tima 2011-03-16 13:42:26