我正在尝试创建一个显示图像的List和一个描述图像的简单文本。
在我的互联网搜索中,我发现了许多方法。有些人使用ArrayAdapter,有些人使用SimpleCursorAdapter。有一点我注意到,许多人正在创建继承自ListActivity的类,并且在setListAdapter
方法中,他们正在插入从Array或SimpleCursor适配器派生的其他类。
第一个问题:这是最好的方法吗?
我在里面创建了一个带有ListView的LinearLayout。为了插入行,使用ImageView
和TextView
创建了另一个布局。
第二个问题:这是正确的吗?
我对创建这种类型的组件感到困惑。这是正确的方法吗?
答案 0 :(得分:2)
是的,这是正确的,但您需要使用CursorAdapter
而不是SimpleCursorAdapter
,因为SimpleCursorAdapter
的要点是只用{{填充一行1}}在其中。
您TextView
上的getView
方法会扩展您的行布局:
CursorAdapter
当您设置视图的文本和图像时,可以使用@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;
}
等适配器方法来访问所需的基础数据。