我正在写我的第一个Android应用程序(我是Android的noob,但体面的Java)。该应用程序的第一个屏幕由一个巨大的列表(大约1.5K项目)的漫画对象组成。我使用的代码是如下:联系应用程序像滚动列表上的Android
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>
然后,我有一个适配器,它基本上采用一个漫画对象并将其名称放在行toptext中,并且它是bottomtext中的最新更新日期。但是,(这可能是由单元虚拟化引起的),结果非常缓慢。滚动列表需要花费很长时间,您只能滚动时间的小型和平。我如何让列表像联系人应用中的那样工作?所以,当你开始滚动一个句柄在屏幕右侧弹出,当你拖动它时,字母会显示你滚动的距离(列表是按字母顺序排列的),还有,我有没有办法可以提高列表的性能?