Reputation: 95
I'm currently using the master / detail flow in my android application project. Now I would like to not only create a list with items with only one string. I'd like to change the standard DummyItem class to the following:
/**
* A dummy item representing a piece of content.
*/
public static class DummyItem {
public String id;
public String content;
public String subtext; //Added subtext variable here
public DummyItem(String id, String content, String subtext) {
this.id = id;
this.content = content;
this.subtext = subtext; //And here
}
@Override
public String toString() {
return content;
}
}
In the ItemListFragment class I'm having this line of code pre-defined for creating the adapter for the list:
setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
DummyContent.ITEMS));
But I would like to change the android.R.layout.simple_list_item_activated_1
to android.R.layout.simple_list_item_activated_2
while having android.R.id.text1
as content and android.R.id.text2
as my subtext
-variable.
Is there a possibility to do this?
Upvotes: 0
Views: 945
Reputation: 9047
Overwrite the getView() Method of the ArrayAdapter. Should be something like this:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//super call to create / recycle the view
View view = super.getView(position, convertView, parent);
TextView textView1 = (TextView) view.findViewById(android.R.id.text1);
textView1.setText(getItem(position).getContent());
TextView textView2 = (TextView) view.findViewById(android.R.id.text2);
textView2.setText(getItem(position).getSubtext());
return view;
}
Here's some further reading about ListViews, including examples: http://www.vogella.com/tutorials/AndroidListView/article.html
Upvotes: 1