i have a listview and its data values is separated by blocks( Item1, Item2…) but i want to know how to show (Item 1, Sub Item 1…) ?
well here is the code that shows only the Item, so how do i show the Item and the Sub Item?
code:
//LISTVIEW database CONTATO
ListView user = (ListView) findViewById(R.id.lvShowContatos);
//String = simple value ||| String[] = multiple values/columns
String[] campos = new String[] {"nome", "telefone"};
list = new ArrayList<String>();
Cursor c = db.query( "contatos", campos, null, null, null, null, "nome" + " ASC ");
c.moveToFirst();
String lista = "";
if(c.getCount() > 0) {
while(true) {
list.add(c.getString(c.getColumnIndex("nome")).toString());
if(!c.moveToNext()) break;
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
user.setAdapter(adapter);
the code i putted there but still gives me errors and i dont see where it gets the values from yet.
//LISTVIEW database CONTATO
ListView user = (ListView) findViewById(R.id.lvShowContatos);
//String = simple value ||| String[] = multiple values/columns
String[] campos = new String[] {"nome", "telefone"};
ArrayList<HashMap<String, Object>> items = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> listItem;
Cursor c = db.query( "contatos", campos, null, null, null, null, "nome" + " ASC ");
c.moveToFirst();
listItem = new HashMap<String, Object>();
listItem.put("nome", "your_item_text");
listItem.put("telefone", "your_subitem_text");
items.add(listItem);
adapter = new SimpleAdapter(this, items, R.layout.custom_list_layout, new String[]{"item", "subitem"}, new int[]{R.id.text_item, R.id.text_subitem});
user.setAdapter(adapter);
Use
SimpleAdapter, not theArrayAdapterto populate theListView: http://developer.android.com/reference/android/widget/SimpleAdapter.htmlThere you will have an array of fields to populate for each item, like:
Remember also to create
custom_list_layout.xmlfor your ListView items, and make sure it contains textViews with proper ids: