Android开发:点击删除按钮时如何获取对应名称(仅用String类方法)
解决Android点击删除按钮获取对应名称的问题
嘿,我来帮你搞定这个问题!核心思路就是给每个删除按钮绑定对应的名称,点击时直接取出,再用String/StringBuffer的方法完成删除逻辑,完全符合你的要求。
第一步:给删除按钮设置名称Tag
不管你是用RecyclerView/ListView的Adapter加载条目,还是手动创建每个条目视图,都可以把对应条目的名称字符串设置为删除按钮的tag。比如在RecyclerView的onBindViewHolder里:// 假设当前条目的名称是name(比如"John") holder.deleteBtn.setTag(name);如果是静态创建的多个按钮,直接在代码里给每个按钮绑定对应名称就行:
johnDeleteBtn.setTag("John"); janeDeleteBtn.setTag("Jane");第二步:点击时获取名称并处理
在删除按钮的点击事件里,取出tag并转成String,然后用String/StringBuffer的方法完成删除操作。比如:deleteBtn.setOnClickListener(v -> { // 取出绑定的名称,强转为String类型 String targetName = (String) v.getTag(); // 举个例子,如果你用StringBuffer存储所有名称(比如用逗号分隔) StringBuffer nameBuffer = new StringBuffer("John, Jane, ABC, XYZ"); // 用String的indexOf找到名称的位置 int startIndex = nameBuffer.indexOf(targetName); if (startIndex != -1) { // 计算要删除的结束位置(包含名称和后面的分隔符) int endIndex = startIndex + targetName.length(); // 如果不是最后一个条目,还要删掉后面的逗号和空格 if (endIndex < nameBuffer.length()) { endIndex += 2; } // 用StringBuffer的delete方法删除对应内容 nameBuffer.delete(startIndex, endIndex); // 现在nameBuffer里就已经去掉了目标名称啦 } });
这样操作全程只用了String的indexOf、StringBuffer的delete这些方法,完全满足你的要求。
内容的提问来源于stack exchange,提问作者sainath pawar
相关产品推荐
相关产品推荐

