ライブラリStickyListHeadersを使用していますが、特定のアプリケーションで機能させる方法を理解するのに苦労しています。2 番目のリスト項目のみに固定ヘッダーを付けたい。getHeaderId() メソッドをオーバーライドして 1 を返すと、2 番目の項目の先頭ではなく、リストの一番上にヘッダーが配置されます。スクロールも本当にびくびくしています。このライブラリを使用して、何が起こっているのかを知っている人はいますか?
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;
}
}