0

DBAdapter クラスの fetch IDs 関数は次のとおりです。すべての ID を取得し、トースト メッセージにリストを表示したいのですが、どこが間違っているのかわかりません。

   public Cursor fetchAllIDs() {

         return mDb.query(DATABASE_TABLE0, new String[] {IDno1}, null, null, null, null,   null);
   }

ボタンのクリックで呼び出す関数を次に示します。トーストにすべての ID を入力します。

   private void fillData() {
       // Get all of the IDs from the database
          Cursor c = DBHelper.fetchAllIDs();
          startManagingCursor(c);

          String[] from = new String[] {DBAdapter.IDno1 };
          Toast.makeText(getApplicationContext(), ""+from, Toast.LENGTH_LONG).show();
}
4

1 に答える 1

0

まず、 を返しますがCursor、この の情報を使用することはありませんCursor

第二に、とにかく a を文字列として表示することはできませString[]ん。をループしてString[]、値を 1 つずつ表示する必要があります。

次のようなものが必要です。

private void fillData() {
    Cursor c = DBHelper.fetchAllIDs();
    List<String> idList = new ArrayList<String>();
    if (c.moveToFirst()) {
        do {
            idList.add(c.getString(c.getColumnIndexOrThrow(IDno1)));
            Toast.makeText(getApplicationContext(), "" + idList.get(idList.size()-1), Toast.LENGTH_LONG).show();
        } while (c.moveToNext());
    }
}

編集:getLong()に固定getString()

于 2012-10-05T07:35:53.450 に答える