Android:从SQLite数据库填充GridtView
在将数据保存到数据库中时,Gridview未填充Sqlite数据库中的任何数据。Logcat也没有生成任何错误 我的数据库是Android:从SQLite数据库填充GridtView,sqlite,gridview,Sqlite,Gridview,在将数据保存到数据库中时,Gridview未填充Sqlite数据库中的任何数据。Logcat也没有生成任何错误 我的数据库是 public Cursor getAllRows() { SQLiteDatabase db = this.getReadableDatabase(); //String where = null; Cursor c = db.rawQuery("SELECT * FROM " + DATAALL_TABLE, null); if (c != null)
public Cursor getAllRows() {
SQLiteDatabase db = this.getReadableDatabase();
//String where = null;
Cursor c = db.rawQuery("SELECT * FROM " + DATAALL_TABLE, null);
if (c != null) {
c.moveToFirst();
}
return c;
}
主要活动
public void populateListView() {
Cursor cursor = db.getAllRows();
String[] fromFieldNames = new String[] {
DBHelper.COURSES_KEY_FIELD_ID1, DBHelper.FIELD_MATERIALDESC, DBHelper.FIELD_MATERIALNUM
};
int[] toViewIDs = new int[] {
R.id.textView1, R.id.textView3, R.id.textView2
};
SimpleCursorAdapter myCursorAdapter;
myCursorAdapter = new SimpleCursorAdapter(getBaseContext(), android.R.layout.activity_list_item, cursor, fromFieldNames, toViewIDs, 0);
GridView myList = (GridView) findViewById(R.id.gridView1);
myList.setAdapter(myCursorAdapter);
}
向尊敬的成员@MikeT发帖,告知其工作良好,但需要调整
原样
预期格式
假设表中有数据,您的问题可能是R.id.textView1。。。。3与传递给SimpleCorsorAdapter的布局无关。i、 e.您的问题可能与传递给SimpleCorsOrAdapter的布局和作为传递给Id的视图Id的组合有关 如果要使用:-
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);
谢谢你的作品。但是gridview对齐方式需要改变,它也允许我显示2个以上的文本。我需要添加2个以上。上面给出的修改要求您能就以下内容提供建议吗requet@Leace我和图形/用户界面看起来不那么友好,也就是说,我对这类事情毫无希望。从来没有使用过gridview,最好是在这个问题上提出一个新问题。
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);
public Cursor getAllRows() {
SQLiteDatabase db = this.getReadableDatabase();
return db.rawQuery("SELECT * FROM " + DATAALL_TABLE, null);
}