The first problem is ...
The default behavior of TextView is adjust the text to fit the width of parent, and only vertical direction scroll support, it not meet my application, I need keep the format of text while setText(). on other words, the TextView shouldn't warp(new line) automatically, only warp while read the "new line" symbol.
There are what I found:
1. Place the TextView in the HorizontallyScrollView ( I hate unused heavy layout ).
2. Set the properties singleLine ( well ... there is really single line in there, god! ).
3. Set android:scrollHorizontally="true" ( Nothing happen ... damn ).
4. bra bra bra ....( it mean many many unused solution ).
I tried many many key word for search google ... it spend my 2 day lone ...
Then I see a function setHorizontallyScrolling(boolean) of TextView, I have no idea it is the same properties with android:scrollHorizontally at that moment, I tried it ... it WORK!
How deep Hole(trap) is ...
The conclusion is use TextView.setHorizontallyScrolling(true) then you can get the original format of text in TextView, forget others ...