Java Can';使用简单适配器查看数据Sqlite
我有一个显示sqlite表的列表视图。我试着在我的第一次体验中使用Aray适配器,所有的字段都显示出来了,但它只是一团糟。我想让它们看起来像一个有三列的表。我试着从答案中实现代码,这里是我的代码Java Can';使用简单适配器查看数据Sqlite,java,android,sqlite,listview,Java,Android,Sqlite,Listview,我有一个显示sqlite表的列表视图。我试着在我的第一次体验中使用Aray适配器,所有的字段都显示出来了,但它只是一团糟。我想让它们看起来像一个有三列的表。我试着从答案中实现代码,这里是我的代码 if (Globals.listoff == null){Globals.listoff = dataSource.getAllproductoff();} adapter = new MySimpleAdapter(ViewDataOff.this,dataSource.g
if (Globals.listoff == null){Globals.listoff = dataSource.getAllproductoff();}
adapter = new MySimpleAdapter(ViewDataOff.this,dataSource.getAllproductoff() , R.layout.item_list_offeringpro,
new String[] { "one", "two","three" },
new int[] { R.id.edmodul, R.id.edtype,R.id.edtype, R.id.edwinningpro});
adapter.notifyDataSetChanged();
setListAdapter(adapter);
这是我的DBDataSource.java
public ArrayList<HashMap<String,Object>> getAllproductoff() {
ArrayList<HashMap<String, Object>> listoff = new ArrayList<HashMap<String, Object>>();
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
HashMap<String, Object> map1 = new HashMap<String, Object>();
map1.put("one", cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID)));
map1.put("two", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION)));
map1.put("three", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE)));
listoff.add(map1);
cursor.moveToNext();
}
cursor.close();
return listoff;
}
谢谢你的帮助。。一切都将不胜感激。更改
光标。moveToNext()代码>使您的代码如下所示
if (cursor.moveToFirst()) {
do {
HashMap<String, Object> map1 = new HashMap<String, Object>();
map1.put("one", cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID)));
map1.put("two", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION)));
map1.put("three", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE)));
listoff.add(map1);
} while (cursor.moveToNext());
}
if(cursor.moveToFirst()){
做{
HashMap map1=新的HashMap();
map1.put(“一”,cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID));
put(“两个”,cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION));
map1.put(“三”,cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE));
添加(map1);
}while(cursor.moveToNext());
}
已定义游标.moveToNext()代码>在你喜欢的时候做
使用前,请始终检查getCount
if(cursor!=null && cursor.getCount()>0){
cursor.moveToNext();
do {
HashMap<String, Object> map1 = new HashMap<String, Object>();
map1.put("one", cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID)));
map1.put("two", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION)));
map1.put("three", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE)));
listoff.add(map1);
} while (cursor.moveToNext());
}
if(cursor!=null&&cursor.getCount()>0){
cursor.moveToNext();
做{
HashMap map1=新的HashMap();
map1.put(“一”,cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID));
put(“两个”,cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION));
map1.put(“三”,cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE));
添加(map1);
}while(cursor.moveToNext());
}
@WL是否解决了您的问题?
if (cursor.moveToFirst()) {
do {
HashMap<String, Object> map1 = new HashMap<String, Object>();
map1.put("one", cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID)));
map1.put("two", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION)));
map1.put("three", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE)));
listoff.add(map1);
} while (cursor.moveToNext());
}
if(cursor!=null && cursor.getCount()>0){
cursor.moveToNext();
do {
HashMap<String, Object> map1 = new HashMap<String, Object>();
map1.put("one", cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID)));
map1.put("two", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DESCRIPTION)));
map1.put("three", cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_PRICE)));
listoff.add(map1);
} while (cursor.moveToNext());
}