我正在尝试从SQLite
数据库提取数据。我正在正确检索数据,但是我认为布局存在问题。
我插入了两行,但它多次显示仅一行。
long id;
DBAdapter db = new DBAdapter(getActivity());
db.open();
id = db.insertEducationDetail(1, "a", "b", "c", "d");
id = db.insertEducationDetail(1, "1", "1", "1", "1");
Cursor c = db.getAllContact();
if(c.moveToFirst()){
Display(c);
}
db.close();
显示:
ArrayList<String> _data = null;
for(int i=0 ; i<cur.getCount(); i++){
_data = new ArrayList<String>();
for(int j=0 ; j<cur.getColumnCount(); j++){
_data.add(cur.getString(j));
}
}
list.setAdapter(new Educational_Adapter2(getActivity().getApplicationContext(),a));
查询:
public long insertEducationDetail(int id,String title,String degree,
String duration,String stream){
ContentValues value = new ContentValues();
value.put(KEY.ID, id);
value.put(KEY.TITLE, title);
value.put(KEY.DEGREE, degree);
value.put(KEY.DURATION, duration);
value.put(KEY.STREAM, stream);
return db.insert(DATABASE_TABLE,null, value);
}
在输出中它重复数据4次。
最佳答案
首先,您传递的列表仅包含最后一个条目的字段,因为您每次都会重新创建该列表。您创建一个适配器,并在其中传递一个包含8个字符串的列表-这就是为什么它有8行的原因。在您写相同内容的每一行结束。您可以声明一个EducationDetail类,创建一个详细列表并将其传递给适配器。但最好的办法是使用CursorAdapter