在TextView控件中,我可以设置android:singleLine =“true”和android:ellipsize =“end”来截断一个长字符串, 但我不知道如何设置ListView控件的属性,你能帮帮我吗?谢谢!
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:background="#DDDDDD"
android:layout_weight="1" />
<TextView
android:id="@+id/textView5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:singleLine="true"
android:text="This is a web This is a web This is a web This is a web I will go to school" />
答案 0 :(得分:0)
对ListView进行椭圆化甚至没有任何意义。相反,您需要在您为适配器中的列表项充气的布局中的任何TextView上设置ellipsize属性。
答案 1 :(得分:0)
通过执行
创建适配器时new SimpleCursorAdapter(this, android.R.layout.simple_list_item_multiple_choice,
cur, cols, views);
您正在传递将用于显示文本的布局文件。
从SDK v17开始,该布局文件如下所示:
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
/>
请注意,文字不是椭圆形的。
创建您自己的类似布局文件,而不是传入该布局,并设置android:ellipsize
,然后将该布局传递给适配器。
请务必使用@android:id/text1
作为android:id
的{{1}},因为这是适配器用来查找它的内容。