簡體   English   中英

Android從SQL表中檢索值到列表視圖

[英]Android retrieve values from sql table into listview

問題基於教程。

我必須使用Java類:

  • DBAdapter.java:這是使用數據庫的幫助程序類。

  • DatabaseActivity.java:在其中將行添加到數據庫中,檢索
    值等

在DBAdapter類中,該函數用於從表中檢索所有值:

public Cursor getAllTitles()
{
return db.query(DATABASE_TABLE, new String[] {
KEY_ROWID, KEY_ISBN, KEY_TITLE, KEY_PUBLISHER}, null, null, null, null, null);
}

在DatabaseActivity類中,這是我檢索所有值的方式:

Cursor c = db.getAllTitles();
if (c.moveToFirst())
{
 do {
     DisplayTitle(c);
    } while (c.moveToNext());
}

這是onCreate()方法之外的函數:

   public void DisplayTitle(Cursor c)
    {
    Toast.makeText(this,
    "id: " + c.getString(0) + "\n" +
    "ISBN: " + c.getString(1) + "\n" +
    "TITLE: " + c.getString(2) + "\n" +
    "PUBLISHER: " + c.getString(3),
    Toast.LENGTH_LONG).show();
    } 

在main.xml中,我有一個listview。

這是dblist.xml,具有該listview的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">
     <TextView android:id="@+id/ISBN"
         android:layout_width="200dip"
         android:layout_height="wrap_content"/>
     <TextView android:id="@+id/TITLE"
         android:layout_width="30dip"
         android:layout_height="wrap_content" android:layout_weight="1"/>
     <TextView android:id="@+id/PUBLISHER"
         android:layout_width="30dip"
         android:layout_height="wrap_content"  android:layout_weight="1"/>
</LinearLayout>

我想將表的值(3列)放入此列表視圖。 我應該怎么做?

您需要一個用於ListView的適配器,該適配器可為數據庫中的每一行設置正確的數據。 如果使用的是Cursors,則應考慮使用CursorAdapter並使用它的bindView方法設置正確的數據。

我建議使用SimpleCursorAdapter此處的文檔)。 是一個很棒的教程,它將助您一臂之力。 就像標題“ Simple”所暗示的那樣,這是一種將數據庫數據綁定到列表並輕松刷新它的好方法,而無需進行大量的自定義工作。 祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM