Android 使用跨距替换多个实例

Android 使用跨距替换多个实例,android,textview,Android,Textview,我使用下面的代码更改带有图像的[text]实例。到目前为止,我使用的代码根据需要替换了第一个实例,但忽略了每个实例。我想从字符串的内容体更改[text]的每个实例,例如: 您好这是[text]输入[text]字符串的测试[test]示例。括号内的文本每次都可能不同 代码: 如果您有任何建议,我们将不胜感激。从哪里开始的和结束的来自哪里?@commonware添加了额外的代码片段:)看看今天早些时候的类似情况:嗯,我还想跨越[和]符号中包含的特定字符串 public SpannableString

我使用下面的代码更改带有图像的
[text]
实例。到目前为止,我使用的代码根据需要替换了第一个实例,但忽略了每个实例。我想从字符串的内容体更改
[text]
的每个实例,例如:

您好这是[text]输入[text]字符串的测试[test]示例。
括号内的文本每次都可能不同

代码:


如果您有任何建议,我们将不胜感激。

从哪里开始的
结束的
来自哪里?@commonware添加了额外的代码片段:)看看今天早些时候的类似情况:嗯,我还想跨越
[
]
符号中包含的特定字符串
public SpannableStringBuilder smileyConvert(String msgBody) {
    SpannableStringBuilder ssb = new SpannableStringBuilder(msgBody);


    if( msgBody.contains("[") && msgBody.contains("]") ){
        setStartEnd(msgBody);

        AssetManager am = ctx.getAssets();
        InputStream imgStream = null;
        try{
            imgStream = am.open("emotes/" + ico + ".gif");
        }catch(IOException e){
            e.printStackTrace();
        }
        Bitmap smiley = BitmapFactory.decodeStream(imgStream);
        smiley = sizeBitmap(smiley);
        ssb.setSpan(new ImageSpan(ctx, smiley), start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        return ssb;
    }else
        return ssb;
}


 public void setStartEnd(String msgBody) {

    start = msgBody.indexOf("[");
    end = (msgBody.indexOf("]") + 1);


    return;
}