代码之家  ›  专栏  ›  技术社区  ›  Gissipi_453

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

  •  0
  • Gissipi_453  · 技术社区  · 11 年前

    我在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 回复  |  直到 11 年前
        1
  •  1
  •   Farbod Salamat-Zadeh    11 年前

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

    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)