0

这是我在 DBAdapter 类中的 fetch IDs 函数:我想获取所有 IDs 并在 toast 消息中显示列表,无法理解我哪里出错了。

   public Cursor fetchAllIDs() {

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

这是我在单击按钮时调用的函数,我希望我的 toast 充满所有 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

首先,您返回 aCursor但您从不使用 this 中的信息Cursor

其次,无论如何您都不能将 a 显示String[]为字符串。您必须遍历String[]并一一显示值。

你想要这样的东西:

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 回答