Android无法在屏幕上显示所有图像?

时间:2014-05-13 08:35:59

标签: android xmpp

我正在制作一个聊天应用程序,我正在使用表情符号功能。我的表情符号工作正常,但问题是:

  1. 当我只发一个微笑时,它可以正常工作

  2. 我想在edittext或对话框中发送多个图像,这里是图像快照:

  3. enter image description here

    这是我的代码:

       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");
                }
            }
    

    为了发送和显示图像,我哪里出错?

2 个答案:

答案 0 :(得分:1)

我看到的唯一问题是您将builder中的字符串替换为getSmiley(1)(假设这不是空字符串),然后在message1中替换X-R(用空字符串。第一次替换后,message1builder不再同步。因此,当您第二次获得lenlen=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());