Android适配器重新绘制视图时,使用与原始项目完全相同的所有项目,而不是删除选定的项目。
创始人
2024-10-10 12:32:19
0

在 Android 适配器重新绘制视图时,如果要保留原始项目,而不是删除选定的项目,可以通过以下方式实现:

  1. 在适配器中定义一个列表来保存所有的项目,包括原始项目和选定的项目。
private List itemList; // 原始项目和选定的项目列表
  1. 在适配器的构造函数中初始化列表,并将原始项目添加到列表中。
public MyAdapter(List originalItems) {
    this.itemList = new ArrayList<>(originalItems);
}
  1. 在适配器的 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;
}
  1. 当选定项目时,更新项目的状态,并调用适配器的 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();
    }
});

通过以上方式,可以在重新绘制视图时使用与原始项目完全相同的所有项目,而不是删除选定的项目。

相关内容

热门资讯

透视肯定!aapoker真的假... 透视肯定!aapoker真的假的(透视)透视方法(一贯真的有挂)aapoker真的假的是一种具有地方...
透视辅助!aapoker透视怎... 透视辅助!aapoker透视怎么用(透视)透视脚本下载(确实真的是有挂)1、进入到aapoker透视...
透视玄学!aapoker如何设... 透视玄学!aapoker如何设置胜率(透视)透视脚本(确实是真的有挂);1.aapoker如何设置胜...
透视ai代打!aapoker透... 透视ai代打!aapoker透视脚本(透视)ai插件(一贯是有挂);1、任何aapoker透视脚本a...
透视神器!aapoker怎么开... 透视神器!aapoker怎么开辅助器(透视)发牌逻辑(原来有挂)在进入aapoker怎么开辅助器辅助...
透视模拟器!aapoker透视... 透视模拟器!aapoker透视脚本下载(透视)透视脚本(切实存在有挂)进入游戏-大厅左侧-新手福利-...
透视工具!aapoker辅助软... 透视工具!aapoker辅助软件合法吗(透视)透视脚本入口(总是有挂)1、打开软件启动之后找到中间准...
透视好友房!aapoker怎么... 透视好友房!aapoker怎么提高中牌率(透视)透视插件(本来是真的有挂)1、下载好aapoker怎...
透视代打!aa poker透视... 透视代打!aa poker透视软件(透视)透视脚本(其实真的是有挂)1、操作简单,无需注册,只需要使...
透视辅助!aapoker真的假... 透视辅助!aapoker真的假的(透视)辅助插件工具(竟然真的有挂);1)aapoker真的假的辅助...