2

我的 tableLayout 填充了很多行(在 xml 中)。我将它包裹在一个滚动视图中,它滚动得很好。但是,我正在尝试使 fastScrolling 功能正常工作(右侧的滑块)并且android:fastScrollEnabled="true"对于 tableLayout 和 scrollView 都说什么都不做。有谁知道如何解决这一问题?

这是布局代码的简化版本

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frameLayout"
android:layout_width="match_parent" android:layout_height="wrap_content"> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" android:id="@+id/tableLayoutParent">
    <TableLayout android:id="@+id/tableLayout" android:fastScrollEnabled="true" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
            <Button
                    android:text="◦"
                    android:id="@+id/spaceColumn"
                    android:background="@drawable/top_button"
                    android:clickable="true"
                    android:onClick="showSlider"
                    android:gravity="center"
                    android:padding="2dip"
                    android:textSize="15px"
                    android:layout_height="wrap_content"
                    android:layout_width="15dip"/>
            <ToggleButton
                    android:textOn="Title ▼"
                    android:textOff="Title"
                    android:id="@+id/titleColumn"
                    android:background="@drawable/top_button"
                    android:clickable="true"
                    android:onClick="sortSong"
                    android:gravity="center"
                    android:padding="2dip"
                    android:textSize="15px"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:layout_width="0dip"/>
            <ToggleButton
                    android:textOn="Artist ▼"
                    android:textOff="Artist"
                    android:id="@+id/artistColumn"
                    android:background="@drawable/top_button"
                    android:clickable="true"
                    android:onClick="sortArtist"
                    android:gravity="center"
                    android:padding="2dip"
                    android:textSize="15px"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:layout_width="0dip"/>
            <ToggleButton
                    android:textOn="Time ▼"
                    android:textOff="Time"
                    android:id="@+id/timeColumn"
                    android:background="@drawable/top_button"
                    android:clickable="true"
                    android:onClick="sortTime"
                    android:gravity="center"
                    android:padding="2dip"
                    android:textSize="15px"
                    android:layout_height="wrap_content"
                    android:layout_width="45dip"/>
            <ToggleButton
                    android:textOn="Album ▼"
                    android:textOff="Album"
                    android:id="@+id/albumColumn"
                    android:background="@drawable/top_button"
                    android:clickable="true"
                    android:onClick="sortAlbum"
                    android:gravity="center"
                    android:padding="2dip"
                    android:textSize="15px"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:layout_width="0dip"/>
        </TableRow>
     </TableLayout>
  </ScrollView>
</FrameLayout>

然后从 SQLite 数据库中读取歌曲数据并填充到表格布局中

4

1 回答 1

3

据我所知,ScrollView 不支持开箱即用的快速滚动,您正在寻找的是 ListView。

编辑:当然,除非你自己实现它。

于 2012-01-08T16:12:38.133 回答