[英]Display data from sqlite database in a listview
我试图在我的sqlite表的列表视图中显示数据。 我可以查看该表,似乎信息正确无误。 当我运行我的应用程序时,将出现列表视图,但是它将显示我的包名称以及一些数字和字母,而不是表中的数据。 任何帮助,将不胜感激。 谢谢。
这是我的代码,用于从表中获取所有信息
public List<Habits> getAllHabits(){
SQLiteDatabase db = this.getWritableDatabase();
List<Habits> habitsList = new ArrayList<Habits>();
String query = "SELECT * FROM " + TABLE_HABIT;
Cursor cursor = db.rawQuery(query,null);
if(cursor.moveToFirst()){
do{
Habits habit = new Habits();
habit.setHabit(cursor.getString(1));
habit.setDate(cursor.getString(2));
habitsList.add(habit);
}while(cursor.moveToNext());
}
cursor.close();
return habitsList;
}
显示代码:
public class ViewHabits extends ListActivity {
Cursor cursor;
private Databasehandler db;
String info;
private ListView datalist;
ArrayList<String> databaseList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
db = new Databasehandler(this);
List<Habits> values = db.getAllHabits();
ArrayAdapter<Habits> adapter = new ArrayAdapter<Habits>(this,android.R.layout.simple_list_item_1,values);
setListAdapter(adapter);
}
最简单的方法是重写Habit
类的toString()
方法:
但是,如果引用了TextView,它将使用数组中每个对象的toString()进行填充。 您可以添加自定义对象的列表或数组。 重写对象的toString()方法,以确定将为列表中的项目显示什么文本。
从文档: ArrayAdapter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.