我遇到了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"
/>