ListViewをスクロールしたときに、半径を常に上に表示できるようにする方法を知っている人はいますか?
BaseAdapterを使用して、最初と最後のアイテムの背景を実装しています。
これがアダプタコードです。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(this.dataset != null && !this.dataset.isEmpty() && this.dataset.size() > 0){
if(convertView == null){
convertView = inflater.inflate(R.layout.corner_list_item_layout, null);
}
ViewHolder holder = (ViewHolder) convertView.getTag();
if(holder == null){
holder = new ViewHolder();
holder.item = (RelativeLayout) convertView.findViewById(R.id.corner_list_item_relativelayout);
holder.label = (TextView) convertView.findViewById(R.id.corner_list_item_label);
convertView.setTag(holder);
}
if (position == 0) {
if (position == (this.getCount() - 1)) {
holder.item.setBackgroundResource(R.drawable.app_list_corner_round_light);
} else {
holder.item.setBackgroundResource(R.drawable.app_list_corner_round_top_dark);
}
} else if (position == (this.getCount() - 1)) {
if(position % 2 == 0){
holder.item.setBackgroundResource(R.drawable.app_list_corner_round_bottom_dark);
}else{
holder.item.setBackgroundResource(R.drawable.app_list_corner_round_bottom_light);
}
} else {
if(position % 2 == 0){
holder.item.setBackgroundResource(R.drawable.app_list_corner_middle_dark);
}else{
holder.item.setBackgroundResource(R.drawable.app_list_corner_middle_light);
}
}
String str = String.valueOf(this.dataset.get(position));
holder.label.setText(str);
}
return convertView;
}`