假设表中有数据,您的问题很可能是r.id.textview1….3与传递给SimpleCursorAdapter的布局无关。也就是说,您的问题可能与传递给SimpleCursorAdapter的布局和作为
到
身份证
如果你要使用:
gridview = this.findViewById(R.id.gridView1);
csr = DBHelper.getAllRows();
myCursorAdapter = new SimpleCursorAdapter(
getBaseContext(),
//android.R.layout.simple_list_item_2,
android.R.layout.activity_list_item,
csr,
new String[]{
SO50674769DBHelper.COURSES_KEY_FIELD_ID1
//SO50674769DBHelper.FIELD_MATERIALDESC,
//SO50674769DBHelper.FIELD_MATERIALNUM
},
new int[]{android.R.id.text1}, //<<<< ID of the available view
0
);
gridview.setAdapter(myCursorAdapter);
那么结果将大致如下:
更改为使用不同的库存布局和2个字段,具体如下:
gridview = this.findViewById(R.id.gridView1);
csr = DBHelper.getAllRows();
myCursorAdapter = new SimpleCursorAdapter(
getBaseContext(),
android.R.layout.simple_list_item_2,
//android.R.layout.activity_list_item, //<<<< Changed Layout
csr,
new String[]{
SO50674769DBHelper.COURSES_KEY_FIELD_ID1,
SO50674769DBHelper.FIELD_MATERIALDESC,
//SO50674769DBHelper.FIELD_MATERIALNUM
},
new int[]{android.R.id.text1, android.R.id.text2}, //<<<< ID's of the 2 views
0
);
gridview.setAdapter(myCursorAdapter);
-
注意databasehelper类的命名是为了方便起见。
会导致:
因此我怀疑你需要把布局改成你自己的。
另外,正如你所暗示的
getAllRows
方法一点也不理想。
-
检查空游标是无用的,因为从rawquery返回的游标不会为空。它可能是空的,在这种情况下,光标
getCount
方法将返回0()。
-
搬家也是浪费。
简单地说:
public Cursor getAllRows() {
SQLiteDatabase db = this.getReadableDatabase();
return db.rawQuery("SELECT * FROM " + DATAALL_TABLE, null);
}