在 gridview 中显示大型数据库 (android)

displaying large size database in gridview (android)

这里是我想在 andorid 中创建的数据库应用程序的 xml 代码。 数据库 table 很大,包含 11 列,我希望它使用水平滚动和垂直滚动显示在一个视图中......在下面的代码中我使用了 Table 布局,但为此我将不得不写很多后端代码来显示数据..

我想使用 gridview 而不是我使用的 table 布局...它应该可以垂直滚动并且 horizontly.can 有人可以帮助我吗??

之前我用的是listview,但是问题是在listview中无法维护列排列...

<?xml version="1.0" encoding="utf-8"?>

                    <ScrollView
                        android:layout_width="match_parent"
                        android:layout_height="298dp"
                        android:id="@+id/scrollView5" >

                        <LinearLayout
                            android:orientation="vertical"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent">

                            <HorizontalScrollView
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:id="@+id/horizontalScrollView4" >

                                <TableLayout
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content">

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent">

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="ID"
                                            android:id="@+id/txtview001" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Date"
                                            android:id="@+id/txtview002" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Item"
                                            android:id="@+id/txtview003" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Shade"
                                            android:id="@+id/txtview004" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Debtor"
                                            android:id="@+id/txtview005" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Price"
                                            android:id="@+id/txtview006" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Count"
                                            android:id="@+id/txtview007" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Quantity"
                                            android:id="@+id/txtview008" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="%comm"
                                            android:id="@+id/txtview009" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Total"
                                            android:id="@+id/txtview010" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Comm"
                                            android:id="@+id/txtview011" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox" />

                                    </TableRow>

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent" >

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa1" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa2" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa3" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa4" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa5" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa6" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa7" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa8" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa9" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa10" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa11" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox2" />
                                    </TableRow>

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent" >

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView23" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView24" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView25" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView26" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView27" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView28" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView29" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView30" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView31" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView32" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView33" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox3" />
                                    </TableRow>

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent" >

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView34" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView35" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView36" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView37" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView38" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView39" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView40" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView41" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView42" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView43" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView44" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox4" />
                                    </TableRow>                              

         </TableLayout>
        </HorizontalScrollView>
    </LinearLayout>
</ScrollView>

终于想通了

这里是 xml 代码:-

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

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="68dp">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button3" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button4"
            android:layout_marginLeft="90dp" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="62dp"
        android:weightSum="1">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button5" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:layout_weight="1.03" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button6"
            android:layout_marginLeft="0dp" />
    </LinearLayout>

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="303dp"
        android:id="@+id/horizontalScrollView4" >

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <GridView
                android:layout_width="1091dp"
                android:layout_height="300dp"
                android:layout_alignParentLeft="true"

                android:id="@+id/gridView"
                android:numColumns="11"
                 />
        </LinearLayout>
    </HorizontalScrollView>

更好的方法是使用带有网格布局管理器的回收器视图。要同时处理垂直和水平滚动,您可以在 ScrollView 中使用 Horizo​​ntalScrollView,并将回收器视图保留在 Horizo​​ntalScrollView 中。 recycler view 的优势在于它一次只会绘制一组有限的视图,这将是一个很好的性能 hack,并且使用适配器你将能够轻松地处理和更新每个单元格。我写了这段快速代码来展示这种滚动方法是如何工作的。

<?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"
    >

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TableLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:id="@+id/button1"
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>


        </TableLayout>

    </HorizontalScrollView>
</ScrollView>