Android TextView: ellipsize = „markiza” nie działa zgodnie z oczekiwaniami
Mam kilka niestandardowych elementów w ListView i każdy element jest, o ile wiadomo, tylko TextView w LinearLayout. Chciałbym, aby tekst wewnątrz TextView był pojedynczą linią przewijającą się poziomo, gdy tekst jest zbyt długi. Przeczytałem wiele postów na ten temat i wymyśliłem rozwiązanie, które miało działać, ale zamiast przewijania pełnego tekstu, tekst został przycięty do długości widoku zawierającego i zakończył się trzema kropkami. Nie chcę trzech kropek, ale cały tekst musi być przewijany.
To jest układ elementów na liście (list_item.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_item_selector"
android:orientation="horizontal"
android:paddingBottom="7dp"
android:paddingLeft="15dp"
android:paddingTop="7dp" >
<TextView
android:id="@+id/listText"
style="@style/Text_View_Style_White"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:padding="3dp"
android:selectAllOnFocus="true"
android:singleLine="true"
android:textColor="@drawable/list_item_text_selector" />
</LinearLayout>
Próbowałem też zandroid:focusable="true"
, android:scrollHorizontally="true"
iandroid:maxLines="1"
atrybuty, ale żaden z nich nie działa. wgetView()
metoda adaptera (która rozszerza BaseAdapter) UżywamsetSelected(true)
metoda na TextView, przed zwróceniem widoku.
Nie mogę zrozumieć, na czym polega problem. Jakakolwiek pomoc będzie doceniona.