为什么List<String>中只有一个数据? [英] Why there is only one data in the List<String>?
本文介绍了为什么List<String>中只有一个数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用游标进行数据库选择,并希望将所有数据放在一个列表中,然后返回到主活动.但是经过调试,发现返回值里面只有第一个数据.
I used cursor for database selecting and want to put all the data inside a List, then return to the mainactivity. But after debugging, I found that there is only the first data inside the return value.
public List<String> select1 (String ReservedState, String mycity, String mystreet, String mypostcode){
ReservedState="Free";
SQLiteDatabase Database1=dbHelper1.getWritableDatabase();
String[] columns={DbHelper1.KEY_ID1,DbHelper1.KEY_RESERVEDSTATE, DbHelper1.KEY_GEOGRAPHICALLOCATION,DbHelper1.KEY_CITY,DbHelper1.KEY_POSTCODE,DbHelper1.KEY_STREET};
Cursor cursor=Database1.query(DbHelper1.TABLE_NAME_1,columns, DbHelper1.KEY_RESERVEDSTATE+"='"+ReservedState+"' AND "+DbHelper1.KEY_CITY+"='"+mycity+"' AND "+DbHelper1.KEY_POSTCODE+"='"+mypostcode+"' AND "+DbHelper1.KEY_STREET+"='"+mystreet+"'",null,null,null,null);
//StringBuffer buffer=new StringBuffer();
List<String> al=new ArrayList<String>();
cursor.moveToFirst();
while(!cursor.isAfterLast()){
int index1=cursor.getColumnIndex(DbHelper1.KEY_ID1);
String id=cursor.getString(index1);
al.add(id);
cursor.moveToNext();
}
return al;
}
推荐答案
public List<String> select1 (String ReservedState, String mycity, String mystreet, String mypostcode){
ReservedState="Free";
SQLiteDatabase Database1=dbHelper1.getWritableDatabase();
String[] columns={DbHelper1.KEY_ID1,DbHelper1.KEY_RESERVEDSTATE, DbHelper1.KEY_GEOGRAPHICALLOCATION,DbHelper1.KEY_CITY,DbHelper1.KEY_POSTCODE,DbHelper1.KEY_STREET};
Cursor cursor=Database1.query(DbHelper1.TABLE_NAME_1,columns, DbHelper1.KEY_RESERVEDSTATE+"='"+ReservedState+"' AND "+DbHelper1.KEY_CITY+"='"+mycity+"' AND "+DbHelper1.KEY_POSTCODE+"='"+mypostcode+"' AND "+DbHelper1.KEY_STREET+"='"+mystreet+"'",null,null,null,null);
Log.e("Cursor",""+cursor.getCount());
//StringBuffer buffer=new StringBuffer();
List<String> list=new ArrayList<String>();
do{
int index1=cursor.getColumnIndex(DbHelper1.KEY_ID1);
String id=cursor.getString(index1);
list.add(id);
}while(cursor.moveToNext());
return al;
}
试试这个.希望这会有所帮助.
Try this. Hope this will help.
这篇关于为什么List<String>中只有一个数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文