3

好的,我一直在搜索,并且在实现 BaseAdapter 时遇到了一些问题。

根据上面的示例,我已经能够实现一个简单的光标适配器 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html 。

这里有一个很好的 BaseAdapter 示例:List14 google example

我想使用 BaseAdapter 创建我自己的列表适配器来显示一个列表视图,其中包含来自数据库的多个项目。我知道这可以使用简单光标适配器来完成,但我希望以不同的方式处理行,所以我希望能够通过覆盖 getView 来绘制每一行。数据将从游标中提取。

我知道这段代码很难获取游标数据,但假设我已经填充了一个游标。如果第 8 列包含图像资源 ID,您对此有何建议。:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    cursor.moveToPosition(position);
    ImageView i = new ImageView(mContext);
    i.setImageResource(cursor.getShort(8));
    i.setAdjustViewBounds(true);
    i.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    return i;
}

你有使用光标绘制 BaseAdapter 的好例子吗?

4

1 回答 1

4

尝试notifyDataSetChanged()从自身内部的方法调用BaseAdapter

以 API Demo 的 List8 中的方法为例。

于 2011-03-31T10:43:54.650 回答