在ListView中显示数据库中的数据

时间:2015-03-20 09:24:15

标签: android database sqlite listview

我在android中有这个代码,它将数据从数据库打印到日志。

List<Message> messages = db.getAllMessages();

for (Message mg : messages) 
{
  String log = "Id: "+mg.getID()+", Message: " + mg.getMessage() + ", Time: " + mg.getDate();
  // display everything on log
  Log.d("", log);
}

如何在ListView中显示它而不是打印到日志?

1 个答案:

答案 0 :(得分:1)

首先,创建一个列表,您可以将值存储在其中。例如:

private ArrayList<String> YOUR_LIST = new ArrayList<>();

现在,在数组适配器中使用它:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, YOUR_LIST);

最后,设置你的适配器:

ListView listView = (ListView) findViewById(R.id.YOUR_LISTVIEW);
listView.setAdapter(adapter);

在你的例子中可以做的事情是这样的:

List<Message> messages = db.getAllMessages();
ArrayList<String> YOUR_LIST = new ArrayList<>();

for (Message mg : messages) {
    String log = "Id: " + mg.getID() + ", Message: " + mg.getMessage() + ", Time: " + mg.getDate();
    YOUR_LIST.add(log);
}

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, YOUR_LIST);

ListView listView = (ListView) findViewById(R.id.YOUR_LISTVIEW);
listView.setAdapter(adapter)