2011-03-22 117 views
0

我正在尝试做一个列表,显示一个图像和描述图像的简单文本。 在我的互联网搜索中,我发现了很多方法来做到这一点。有些人使用ArrayAdapter,其他人使用SimpleCursorAdapter。我注意到的一件事,许多人正在创建从ListActivity继承的类,并在setListAdapter方法中插入从Array或SimpleCursor适配器派生的其他类。 第一个问题:这是做这件事的最好方法吗?列表视图与图像和文字

我创建了一个带有ListView的LinearLayout。为了插入行,使用ImageViewTextView创建了另一个布局。第二个问题:这是正确的吗?

我很困惑创建这种类型的组件。这是做到这一点的正确方法吗?

回答

2

是的,这是正确的,虽然你将需要使用一个CursorAdapter代替SimpleCursorAdapter,因为SimpleCursorAdapter的一点是要填充行只有TextView在里面。

你会对你的CursorAdapter一个getView方法扩展您排布局:

@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; 
} 

当你设置你的意见的文字和图片,您可以像使用getItem适配器方法来访问底层你需要的数据。