java - 如何在Android中的tablelayout上进行快速滚动

标签 java android xml scroll android-tablelayout

我的 tableLayout 填充了很多行(在 xml 中)。我把它包装在一个 ScrollView 中,它滚动得很好。不过,我试图让 fastScrolling 功能正常工作(右侧的 slider ),并对 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 数据库读取歌曲数据并将其填充到表布局中

最佳答案

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

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

关于java - 如何在Android中的tablelayout上进行快速滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8721263/

相关文章:

java - 什么是NullPointerException,我该如何解决?

Java - 将网络服务器添加到应用程序

java - 按下删除按钮后,如何从输入到我的textView中的数据库中删除值?

android - 如何知道我的 android 应用程序是否可见?

java - 覆盖android Material 设计警报对话框

Python SVG 解析器

java - 检测线的交叉点

android - PagedList 已弃用

java - JAX-WS 调度响应中的编码错误

java - 在java中将JTree转换为Xml