我正在使用定义 JunctionActor 的外部包。这个想法是,JunctionActor 可以通过名为 sendMessage 的方法将 JSON 消息发送到远程服务器,并通过调用 onMessageReceived 的侦听器接收消息。在我的实现中,设备接收它发送的每条消息,因此调用 onMessageReceived。然而,在我的代码中,我在我的活动类中包含了一个 ChatClient 对象,它必须调用 show_message 方法。show_message 触发 Toast。当我从 onJoin 调用 show_message 时,完全没有问题,但是当从 onMessageReceived 调用它时,什么都没有显示,而我的调试器告诉我应用程序确实收到了一条消息并且触发了 onMessageReceived。同时,在 onJoin 方法中调用 show_message 确实有效。我可以' 看不出两者有什么区别。你有解决方案吗 ?
非常感谢
public class HelloWorldJunctionActivity extends Activity {
onCreate(...){...} [...]
private class ChatClient extends JunctionActor {
public ChatClient() {
super("client");
}
public void onActivityJoin() {
show_message("Connected");
}
@Override
public void onMessageReceived(MessageHeader header, JSONObject msg) {
try {
show_message(msg.getString("text"));
} catch (JSONException e) {
// TODO Auto-generated catch block
show_message(e.getMessage());
}
}
}
void show_message(String message) {
Toast
.makeText(HelloWorldJunctionActivity.this, message, Toast.LENGTH_SHORT)
.show();
}
}