如何在Android中的tablelayout上快速滚动

时间:2012-01-04 02:18:23

标签: java android xml scroll android-tablelayout

我有tableLayout填充了很多行(在xml中)。我把它包装在一个scrollView中,滚动得很好。但是,我正在尝试使用fastScrolling功能(右侧的滑块),并为tableLayout和scrollView执行任何操作都说android:fastScrollEnabled="true"。有谁知道如何解决这个问题?

这是布局代码的简化版本

<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数据库中读取

歌曲数据并填入表格布局

1 个答案:

答案 0 :(得分:3)

据我所知,ScrollView不支持快速滚动,你正在寻找的是ListView。

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