我正在使用库StickyListHeaders,我很难弄清楚如何让它适用于我的特定应用程序。我只想在第二个列表项上有一个粘性标题。当我覆盖 getHeaderId() 方法并返回 1 时,它会将标题放在列表的最顶部,而不是第二项的顶部。滚动也很跳跃。有没有人使用这个库取得了一些成功,可能知道发生了什么?
我正在使用 MergeAdapter,那么这是否会导致获取我设置的 ListView 的位置时出现问题?
这是我的适配器代码:
private class ProfileMergeAdapter extends MergeAdapter implements StickyListHeadersAdapter{
@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
LayoutInflater nameInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = (RelativeLayout) nameInflater.inflate(R.layout.name_line, null);
convertView.setLayoutParams(new LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
profilePhotoBottom = (ImageView) convertView.findViewById(R.id.profile_pic_bottom);
TextView userName = (TextView) convertView.findViewById(R.id.userName);
userName.setText(Utility.userName);
profilePhotoBottom.setImageBitmap(photoBMPbot);
return convertView;
}
@Override
public long getHeaderId(int position) {
return 1;
}
}