2015-03-20 6 views
0

У меня есть этот код в android, который печатает данные из базы данных в журнал.Отображение данных из базы данных в ListView

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 вместо печати в журнал?

+0

Удерживайте эти значения в классе pojo и передайте объект класса pojo адаптеру List. –

ответ

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) 
+0

Большое спасибо. Проголосовали и приняли ответ. –

Смежные вопросы