首页 > 解决方案 > java/Android中包含的含义

问题描述

首先,发送 0 到 lit1 和 300 到 lit2,结果是 Spotted 0/300 灯,
然后发送 200 到 lit1,结果是 Spotted 200/300 灯
,然后发送 0 到 lit2,结果是 Spotted 200/0 灯

重新启动(lit1 200 & lit2 300),将 lit1 更改为 20,结果是 Spotted 20/300 灯
,然后将 lit1 更改为 200,将 lit2 更改为 30,结果是 Spotted 200/30 灯

重启(lit1 200 & lit2 300),将lit1改为0,结果是Spotted 200/300灯

我已经尝试了很多次,发现每次 a > 0 & b > 0 然后用 0 发送 lit1,
它不能通过“!spot.toString().contains(a+”/“+b)”的条件。

编码:

static SpannableString spot;
static ForegroundColorSpan y;

public class Span {
    static SpannableString SPOT(int lit1, int lit2){
        String a = Integer.toString(lit1), b = Integer.toString(lit2);
        if(spot==null|| !spot.toString().contains(a+"/"+b)){
            y = new ForegroundColorSpan(Color.YELLOW);
            spot = new SpannableString("Spotted "+d+"/"+b+" lights");
            spot.setSpan(y, 7, 7+d.length()+b.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        }
        return spot;
    }
}

真的需要帮助,因为我使用了很多 SpannableString 方法。

标签: javaandroid

解决方案


200 和 300 和 20 都以“0”结尾

编辑:

也许我不够清楚。“0/300”在“200/300”之内。


推荐阅读