我正在制作一个聊天应用程序,我正在使用表情符号功能。我的表情符号工作正常,但问题是:
当我只发一个微笑时,它可以正常工作
我想在edittext或对话框中发送多个图像,这里是图像快照:
这是我的代码:
builder = new SpannableStringBuilder(message1);
if(message1.contains("x-(R"))
{
int len=message1.indexOf("x-(R");
while(len!=-1)
{
builder.replace(len, len+4, getSmiley(1));
message1=message1.replaceFirst("x-\\(R", "");
len=message1.indexOf("x-(R");
}
}
为了发送和显示图像,我哪里出错?
答案 0 :(得分:1)
我看到的唯一问题是您将builder
中的字符串替换为getSmiley(1)
(假设这不是空字符串),然后在message1
中替换X-R(
用空字符串。第一次替换后,message1
和builder
不再同步。因此,当您第二次获得len
(len=message1.indexOf("x-(R");
)时,您会替换builder
中的错误索引。
也许正确的做法是替换构建器之类的消息:
message1=message1.replaceFirst("x-\\(R", getSmiley(1));
答案 1 :(得分:1)
你可以使用getSmiley(1).toString()。 它会起作用吗?
像 message1 = message1.replaceFirst(" x - \(R",getSmiley(1).toString());