我正在尝试从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次。

java - SQLite数据抽象到布局-LMLPHP

最佳答案

首先,您传递的列表仅包含最后一个条目的字段,因为您每次都会重新创建该列表。您创建一个适配器,并在其中传递一个包含8个字符串的列表-这就是为什么它有8行的原因。在您写相同内容的每一行结束。您可以声明一个EducationDetail类,创建一个详细列表并将其传递给适配器。但最好的办法是使用CursorAdapter

10-02 13:16
查看更多