开发者

List View with images and text

I'm trying to do a 开发者_运维技巧List that shows an image and a simple text describing the image. In my search on internet I found many ways to do this. Some people using ArrayAdapter, others using SimpleCursorAdapter. One thing I notice, many people are creating classes inheriting from ListActivity and in the setListAdapter method they are inserting other classes derived from Array or SimpleCursor adapter. First question: is this the best way to do this?

I created a LinearLayout with a ListView inside. And to insert rows, another layout was created with an ImageView and a TextView. Second question: is this correct?

I'm confusing about creation of this type of component. Is this the correct way to do this?


Yes, this is correct, although you will need to use a CursorAdapter instead of a SimpleCursorAdapter, since the point of a SimpleCursorAdapter is to populate a row with only a TextView in it.

You will have a getView method on your CursorAdapter that expands your row layout:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) { // we don't have a recycled view
        convertView = LayoutInflator.from(getContext()).inflate(
          R.layout.row, parent, false);
    }
    // setup our row
    TextView text = (TextView) convertView.findViewById(R.id.text_view);
    text.setText( ... );
    ImageView image = (ImageView) convertView.findViewById(R.id.image_view);
    image.setImageBitmap( ... );
    return convertView;
}

When you're setting the text and image of your views, you can use adapter methods like getItem to access the underlying data you need.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜