I have a ListView
and cannot display the sub items on the list... It only displays one or the other but not both. If I remove the number from below it will display the string (titles):
I want to display both Items and sub items.
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.loadData();
String []titles_str = titles.toArray(new String[titles.toArray().length]);
this.setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_2, android.R.id.text1, titles_str));
Number []subtitles_str = lengths.toArray(new Number[lengths.toArray().length]);
this.setListAdapter(new ArrayAdapter<Number>(this,
android.R.layout.simple_list_item_2, android.R.id.text2, subtitles_str));
}
you are using "this.setListAdapter" two times, only Second "this.setListAdapter" will reflect.
For your requirement, Please use
1)custom arrayadapter<customObject>
or
2)simpleadapter.
1) Using custom arrayadapter, Please check http://devtut.wordpress.com/2011/06/09/custom-arrayadapter-for-a-listview-android/
2) Using SimpleAdapter:
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
for (int i=0; i<titles_str.length; i++) {
Map<String, String> datum = new HashMap<String, String>(2);
datum.put("title", titles_str[i]);
datum.put("subtitle", String.valueof(subtitles_str[i]));
data.add(datum);
}
SimpleAdapter adapter = new SimpleAdapter(this, data,
android.R.layout.simple_list_item_2,
new String[] {"title", "subtitle"},
new int[] {android.R.id.text1,
android.R.id.text2});
this.setListAdapter(adapter);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With