我创建了一个包含自定义SimpleCursorAdapter的列表视图。我想在列表的第一个元素中放置一个标题。一次可以在屏幕上显示8个视图。当我向下滚动到第九个视图时,第一个元素的标题出现。至少我相信这就是正在发生的事情。我删除了listview上方的一个按钮,允许所有元素出现在屏幕上,只有第一个元素有标题。
我相信我每次强迫新观点被夸大。我已经阅读了一下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;
答案 0 :(得分:4)
您应该覆盖适配器类中的(final int position, View convertView, ViewGroup parent)
方法,并
convertView
参数a
新值(,如有必要,但最好只使用它,如果它是正确的类型,并使用基于yourListData.get(position)
的正确数据填充它,其中yourListData
例如是{{ 1}}扩展名。)