simple_list_item_2 in Android

poeschlorn picture poeschlorn · Jun 8, 2010 · Viewed 19.3k times · Source

after creating some menus with simple_list_item_1 (which worked very fine) I tried to replace this by simple_list_item_2, but my system throws around with exceptions...

Now I'm wondering how to create such a two-different-sized-line-entry for my list...is there any trap for beginners? Can someone please help me fixing my (small!?) problem?

My code looks like this:

ListAdapter listAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_2, fileNames);
setListAdapter(listAdapter);

My String[] fileNames stores all strings to display in ascending order (does this matter for the functionality?!)

After unsuccessfully searching in some forums I now hope that someone of you can give me an useful suggestion.

nice greetings, poeschlorn

Answer

Daniel Waechter picture Daniel Waechter · Jun 8, 2010

simple_list_item_2 is different, instead of just a TextView it contains a TwoLineListItem containing two TextViews. ArrayAdapter is not going to work here, because the constructor you're using expects only a TextView; just look at the constructors. Instead you'll either have to create a custom adapter or use one that supports it like SimpleCursorAdapter or (I think) SimpleAdapter. This guy has a somewhat hacky solution that might work for you.