繁体   English   中英

在列表视图中显示sqlite数据库中的数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM