您好我正在使用smack api在android中构建聊天应用程序。我在页面中显示所有好友列表名称。我需要编辑特定好友的好友名称。当我长时间按下一个朴素的伙伴时,我正在显示一个新的屏幕,其中有一个EditText输入新名称,当有一个编辑按钮时。当我按下编辑按钮时,我调用以下按钮来编辑好友名称。
public boolean editName(String jid, String name) {
try {
RosterPacket packet = new RosterPacket();
packet.setType(IQ.Type.SET);
RosterPacket.Item item = new RosterPacket.Item(jid, name);
packet.addRosterItem(item);
connection.sendPacket(packet);
return true;
} catch(Exception e) {
e.printStackTrace();
return false;
}
}
然后关闭编辑页面并刷新好友列表。但除非我重新申请该应用程序,否则新名称不会反映出来。
我正在使用以下代码加载好友列表:
public static Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
Log.i("XMPPChat", "Name: " + entry.getName());
}
有人可以告诉我原因吗?