Just use a custom ArrayAdapter:
1) Define your custom ArrayAdapter. Fill in the body of getView() to create a view based on each item your pass to the adapter;
public class YourArrayAdapter<YourDataObject> extends ArrayAdapter<T> {
public YourArrayAdapter(Context context) {
super(context, 0); // Pass in 0 because we will be overriding getView()
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// getView() gets called when this item becomes visible in the ListView
// All you have to do is build a view with your data object and return it.
YourDataObject yourDataObject = getItem(position);
YourView view = new YourView(yourDataObject);
}
2) Pass the adapter to your ListView, and add data.
YourArrayAdapter<RSSItem> adapter = new YourArrayAdapter<RSSItem>(this);
adapter.addAll(myRssFeed.getList());
setListAdapter(adapter);