Android Listview中不稳定的滚动条行为

时间:2013-12-19 16:49:28

标签: android listview scrollbar

我有ListView个超过1,000个项目和一个滚动条。在不使用滚动条的情况下滚动时,滚动条不会平滑滚动。相反,它最初会朝着你期望的方向前进,然后向后跳跃。在滚动时,它会向后跳几次,而不是平滑地滚动列表。在ListView的XML布局中,我已指定android:smoothScrollbar="false"作为解决此问题的尝试。 documentation。但是,问题仍然存在。我的所有物品都有相同的高度。如何让滚动条顺畅滚动?

这是我的XML

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="8dp"
    android:paddingRight="8dp">

<ListView
    android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fastScrollEnabled="true"/>

<TextView
    android:id="@id/android:empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@string/no_songs_found"
    android:textColor="@color/asbestos"
    android:textSize="24sp"
    android:gravity="center"/>
</FrameLayout>

3 个答案:

答案 0 :(得分:0)

这是我很久以前做过的一个例子,你做过像这样的xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fadingEdge="horizontal"
    android:fillViewport="true"
    android:scrollbars="horizontal" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/whitesmoke"
        android:orientation="vertical"
        android:textColor="@color/Black" >

        <TextView
            android:id="@+id/path"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/Black" />



        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="408dp"
            android:textColor="@color/Black" />

        <TextView
            android:id="@android:id/empty"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="No Data" />

        <!--
             <ImageView
            android:id="@+id/Thumbnail"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/icon" />
        -->
    </LinearLayout>

</ScrollView>

答案 1 :(得分:0)

只是想一想,如果你在真实设备上进行测试,请确保它没有插入你的开发机器。我注意到触摸屏上的干扰之前听起来与你的问题相似。

答案 2 :(得分:0)

我正在为我的适配器使用arraylist。使用cursoradaptor,列表滚动要好得多。我猜arraylists无法处理那么多数据。