将Sqlite数据填充到listview android中

时间:2017-04-20 07:21:53

标签: android sqlite listview android-database

我遇到了listview android的问题。基本上,我想将所有数据从sqlite数据库填充到listview,但由于数据列很安静很多,它会脱离屏幕,其中一些。如何在listview中实现水平滚动?它也必须像表一样垂直滚动。

这是我实现数据的方式。方法

private void displayListView() {

    DBHandler db = new DBHandler(getActivity());
    Cursor cursor = db.getCursor();

    // The desired columns to be bound
    String[] columns = new String[]{
            db.KOLOM_ID,
            db.KOLOM_NAMA,
            db.KOLOM_SIAPA,
            db.KOLOM_TUJUAN,
            db.KOLOM_NOMOR,
            db.KOLOM_ALAMAT,
            db.KOLOM_TANGGAL,
            db.KOLOM_JAMDTG,
            db.KOLOM_JAMPLG

    };

    // the XML defined views which the data will be bound to
    int[] to = new int[]{
            R.id.no_laporan,
            R.id.nama_laporan,
            R.id.siapa_laporan,
            R.id.tujuan_laporan,
            R.id.hp_laporan,
            R.id.almt_laporan,
            R.id.tgl_laporan,
            R.id.dtg_laporan,
            R.id.plg_laporan,
    };

    // create the adapter using the cursor pointing to the desired data
    //as well as the layout information
    dataAdapter = new SimpleCursorAdapter(
            getActivity(), R.layout.laporan_row,
            cursor,
            columns,
            to,
            0);
}

这是在 oncreate

displayListView();
final ListView listView = (ListView) v.findViewById(R.id.list);

listView.setAdapter(dataAdapter);

我的XML

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_below="@+id/btnkol">
        <HorizontalScrollView
            android:id="@+id/hscrll1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <LinearLayout
                android:id="@+id/LinearLayout1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
                <ListView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:id="@+id/list" />
            </LinearLayout>
        </HorizontalScrollView>
</LinearLayout>

listview工作但是当水平滚动时,一些数据被切断了......在垂直滚动listview工作中,但是布局只有一行大,即使在使用match_parent之后也无法扩展。

我一直在考虑使用表格布局作为替代方案,但如果有这个问题的答案,我就会使用这个。

laporan_row.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
    android:id="@+id/no_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="No"
    />
<TextView
    android:id="@+id/nama_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Nama Tamu"
    />
<TextView
    android:id="@+id/siapa_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Ketemu Siapa"
    />
<TextView
    android:id="@+id/tujuan_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Tujuan"
    />
<TextView
    android:id="@+id/hp_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Nomor HP"
    />
<TextView
    android:id="@+id/almt_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Alamat"
    />
<TextView
    android:id="@+id/tgl_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Date"
    />
<TextView
    android:id="@+id/dtg_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Time In"
    />
<TextView
    android:id="@+id/plg_laporan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Time Out"
    />

0 个答案:

没有答案