我在数据库中建的表如下:create table rec_table(phonum varchar(15),content varchar(15),time varchar(50))我进行查询如下:
Cursor cursor = db.query("rec_table", new String[]{"phonum","time","content"}, null, null, null, null, null);
if(cursor.isBeforeFirst()){
while(cursor.moveToNext()){
NUM = cursor.getString(cursor.getColumnIndex("phonum"));
TIME = cursor.getString(cursor.getColumnIndex("time"));
CONTENE = cursor.getString(cursor.getColumnIndex("content"));
我想把 NUM ,TIME , CONTENE 用listview来显示,怎么弄啊完整代码下: public class ReceiveActivity extends ListActivity{
String NUM = null;
String TIME = null;
String CONTENE = null;
List<Map<String,String>> list = new ArrayList();
Map<String,String> map = new HashMap();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
SMSDBHelper smsdbhelper = new SMSDBHelper(ReceiveActivity.this);
SQLiteDatabase db = smsdbhelper.getWritableDatabase();
Cursor cursor = db.query("rec_table", new String[]{"phonum","time","content"}, null, null, null, null, null);
if(cursor.isBeforeFirst()){
while(cursor.moveToNext()){
NUM = cursor.getString(cursor.getColumnIndex("phonum"));
TIME = cursor.getString(cursor.getColumnIndex("time"));
CONTENE = cursor.getString(cursor.getColumnIndex("content"));
map.put("N", NUM);
map.put("T", TIME);
map.put("C", CONTENE);
list.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.list, new String []{"N","T","C"}, new int []{R.id.phoneNum,R.id.name,R.id.Message});
setListAdapter(adapter);
}
}
}
我这样只有一个listview,而且永远都把查询到最后一条数据插到listview当中,前面的数据都被覆盖了
Cursor cursor = db.query("rec_table", new String[]{"phonum","time","content"}, null, null, null, null, null);
if(cursor.isBeforeFirst()){
while(cursor.moveToNext()){
NUM = cursor.getString(cursor.getColumnIndex("phonum"));
TIME = cursor.getString(cursor.getColumnIndex("time"));
CONTENE = cursor.getString(cursor.getColumnIndex("content"));
我想把 NUM ,TIME , CONTENE 用listview来显示,怎么弄啊完整代码下: public class ReceiveActivity extends ListActivity{
String NUM = null;
String TIME = null;
String CONTENE = null;
List<Map<String,String>> list = new ArrayList();
Map<String,String> map = new HashMap();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
SMSDBHelper smsdbhelper = new SMSDBHelper(ReceiveActivity.this);
SQLiteDatabase db = smsdbhelper.getWritableDatabase();
Cursor cursor = db.query("rec_table", new String[]{"phonum","time","content"}, null, null, null, null, null);
if(cursor.isBeforeFirst()){
while(cursor.moveToNext()){
NUM = cursor.getString(cursor.getColumnIndex("phonum"));
TIME = cursor.getString(cursor.getColumnIndex("time"));
CONTENE = cursor.getString(cursor.getColumnIndex("content"));
map.put("N", NUM);
map.put("T", TIME);
map.put("C", CONTENE);
list.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.list, new String []{"N","T","C"}, new int []{R.id.phoneNum,R.id.name,R.id.Message});
setListAdapter(adapter);
}
}
}
我这样只有一个listview,而且永远都把查询到最后一条数据插到listview当中,前面的数据都被覆盖了
map = new HashMap();
map.put("N", NUM);
map.put("T", TIME);
map.put("C", CONTENE);
list.add(map);
试试
public class ReceiveActivity extends ListActivity{
String NUM = null;
String TIME = null;
String CONTENE = null;
List<Map<String,String>> list = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);SMSDBHelper smsdbhelper = new SMSDBHelper(ReceiveActivity.this);
SQLiteDatabase db = smsdbhelper.getWritableDatabase();
Cursor cursor = db.query("rec_table", new String[]{"phonum","time","content"}, null, null, null, null, null);
if(cursor.isBeforeFirst()){
do{
Map<String,String> map = new HashMap();
map.put("N", cursor.getString(cursor.getColumnIndex("phonum")));
map.put("T", cursor.getString(cursor.getColumnIndex("time")));
map.put("C", cursor.getString(cursor.getColumnIndex("content")));
list.add(map);
}while(cursor.moveToNext());SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.list, new String []{"N","T","C"}, new int []{R.id.phoneNum,R.id.name,R.id.Message});
setListAdapter(adapter);
}
}
}试试吧!