我正在写简单的手机联系人。我添加了人们的姓名,电话,电子邮件。只有姓名必须显示在listView
中。我可以看到列表行,但看不到行上的名称。它们是看不见的。
此方法显示了人们的信息:
public List<Kontak> kisiOku(){
SQLiteDatabase db = this.getReadableDatabase();
List<Kontak> list = new ArrayList<>();
String[] kolon = {"id","isim","tel","mail"};
Cursor c = db.query("kisi",kolon,null,null,null,null,null);
c.moveToFirst();
while (!c.isAfterLast()){
String isim = c.getString(c.getColumnIndex("isim"));
Kontak knt = new Kontak();
knt.setIsim(isim);
list.add(knt);
c.moveToNext();
}
c.close();
db.close();
return list;
}
这是我的数据类:
public class Kontak {
int id;
String isim;
String tel;
String mail;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getIsim() {
return isim;
}
public void setIsim(String isim) {
this.isim = isim;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String toString(){return isim;}}
这是适配器部分:
k = new Kontak();
dbHelper = new DbHelper(this);
list = dbHelper.kisiOku();
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter);
答案 0 :(得分:-1)
在您的代码段中,您正在从SQLite查询并更新isim
对象中的Kontak
(我假设为名称字段)。相同的对象被附加到列表中。其他字段(如mail
和phone
)未在Kontak
对象中更新。
此外,toString
类的Kontak
方法仅返回isim
。考虑将邮件和电话号码详细信息添加到输出字符串。