【发布时间】:2011-11-30 19:51:42
【问题描述】:
我正在使用定义 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();
}
}
【问题讨论】:
标签: java android listener junction