ListView与图像

时间:2011-03-22 11:25:58

标签: android listview

我想用图像制作ListView。像this这样的东西。 但有些项目只有文字,没有图像。对于那些我只想显示文字的项目。 我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

列表视图中的每个项目都是一个单独的视图,可以根据需要创建。只需在适配器类的GetView方法中从两个单独的布局中扩展视图。

这样的事情:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    return new MyViewItem(getImage(), getText(), parent);
}

*****
class MyViewItem extends LinearLayout 
{
    public MyViewItem(ImageClass image, String text, ViewGroup parent) {
        super(parent);

        View.inflate(parent, image==null?R.layout.layout1:R.layout.layout2, this);

        //Now assign correct text and image using this.findViewById() function.
    }
}

我留给你定义layout1和layout2以及如何处理实际的图像和文本,但这应该可以解决问题。

答案 1 :(得分:0)

你也可以拥有1个视图,但是当你不想让图像存在时,只需在图像上将visiblity设置为GONE。只要您正确设置了布局,文本就会再次弹到边缘!