在 Android 适配器重新绘制视图时,如果要保留原始项目,而不是删除选定的项目,可以通过以下方式实现:
private List- itemList; // 原始项目和选定的项目列表
public MyAdapter(List- originalItems) {
this.itemList = new ArrayList<>(originalItems);
}
getView()
方法中,根据位置获取项目,并根据项目的状态来设置视图。@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 获取项目
Item item = itemList.get(position);
// 根据项目的状态设置视图
if (item.isSelected()) {
// 选定的项目
convertView.setBackgroundColor(Color.BLUE);
} else {
// 原始项目
convertView.setBackgroundColor(Color.WHITE);
}
// 其他视图的设置...
return convertView;
}
notifyDataSetChanged()
方法来重新绘制视图。// 选定项目的点击事件处理
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取项目位置
int position = getAdapterPosition();
// 获取项目
Item item = itemList.get(position);
// 更新项目的状态
item.setSelected(!item.isSelected());
// 重新绘制视图
notifyDataSetChanged();
}
});
通过以上方式,可以在重新绘制视图时使用与原始项目完全相同的所有项目,而不是删除选定的项目。
下一篇:android视频编辑sdk