2

我创建了一个具有自定义 SimpleCursorAdapter 的列表视图。我想在列表的第一个元素中放置一个标题。一次可在屏幕上显示 8 个视图。当我向下滚动到第九个视图时,会出现第一个元素的标题。至少我相信这就是正在发生的事情。我删除了列表视图上方的一个按钮,允许所有元素出现在屏幕上,只有第一个元素有标题。

我相信我每次都在强迫一个新的观点被夸大。我已经阅读了一些关于 convertview 的内容,它似乎是你必须手动实现的东西。

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {

    final LayoutInflater inflater = LayoutInflater.from(context);
    int position = cursor.getPosition();
    View v;
    v = inflater.inflate(R.layout.roster_lv_row_entry_with_header, parent, false);      
    if(position > 0)
        v = inflater.inflate(R.layout.roster_lv_row_entry_no_header, parent, false);

    return v;
4

1 回答 1

4

您应该覆盖(final int position, View convertView, ViewGroup parent)适配器类中的方法,并且

  1. 为参数分配convertView一个新值(如果需要,但最好只使用它,如果它是正确的类型,并用基于的适当数据填充它,yourListData.get(position)例如yourListData扩展List<?>名。)
  2. 然后返回它。
于 2011-04-17T06:55:23.247 回答