我正在编写我的第一个 Android应用程序(我在Android上是一个菜鸟,但在java上不错).该应用程序的第一个屏幕包含一个巨大的列表(大约1.5K项)的漫画对象.我使用的代码如下: main.xml中: ?x
main.xml中:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/android:list"></ListView> <TextView android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="@string/list_no_items" android:id="@+id/android:empty"></TextView> </LinearLayout>
row.xml:
<LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:padding="6dip" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="6dip" android:src="@drawable/icon" /> <LinearLayout android:orientation="vertical" android:layout_width="0dip" android:layout_weight="1" android:layout_height="fill_parent"> <TextView android:id="@+id/toptext" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center_vertical" /> <TextView android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:id="@+id/bottomtext" android:singleLine="true" android:ellipsize="marquee" /> </LinearLayout> </LinearLayout>
然后我有一个适配器,它基本上采用一个Manga对象并将其名称放在行toptext中,并且它是最新更新的日期.但是,(这可能是由于单元的虚拟化引起的),结果非常慢.滚动列表需要永远,你只能滚动时间的小和平.如何使列表与contacts-app中的列表一样工作?因此,当你开始滚动时,屏幕右侧弹出一个手柄,当你拖动它时,字母会显示你滚动的距离(列表按字母顺序排序),还有,有一种方法我可以提高名单的表现吗?
要添加拇指滚动条,请在main.xml中调整ListView,如下所示:<ListView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/android:list" android:fastScrollEnabled="true"></ListView>
添加android:fastScrollEnabled =“true”属性.
https://developer.android.com/reference/android/widget/AbsListView.html#attr_android:fastScrollEnabled
你也可以看看使用SectionIndexer.