views:

394

answers:

5

Hi,

I have a TextView. I want it to ellipsize if longer than its available width. This does not work unless the input string has no spaces... can anyone provide an example of this working? I've tried different combinations of:

singleLine="true" maxLines="1" scrollHorizontally="false"

none of these have any effect. Again, if I supply a string that has no spaces in it, then the ellipsis appears correctly. What am I missing? I've tried this on 1.5, 1.6, 2.0, all same problem.

Thanks

+1  A: 

A quick and hacky solution might be to display your string using non-breaking spaces instead of the regular spaces.

Paul McMillan
+1  A: 

Ellipsize is broken (go vote on the bug report, especially since they claim it's not reproducible) so you have to use a minor hack. Use:

android:inputType="text"
android:maxLines="1"

on anything you want to ellipsize. Also, don't use singleLine, it's been deprecated since 1.5.

fiXedd
Was [vote on the bug report] supposed to be a link?
Ken
I fixed it... :)
fiXedd
A: 

Try with:

textView.setSingleLine();
TruncateAt ta = TruncateAt.END;
textView.setEllipsize(a);
jgimbert
A: 

this was the only combination that I could get to work on SDK ver4:

android:ellipsize="end"
android:singleLine="true"

(Yes I know it says it's deprecated but I'm left without a choice)

hambonious
A: 

the above combination works for me too.

 android:maxLines="1"

seems to have no effect whatsoever in this case

helloneel