You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:54:52