[英]android java is not enclosing class
this is my class 这是我的课
public class mm {
public class MessageHandler {
public HashMap<String, Command> commandMap;
public MessageHandler() {
this.commandMap = new HashMap<>();
commandMap.put("init", new CreateOfferCommand());
commandMap.put("offer", new CreateAnswerCommand());
commandMap.put("answer", new SetRemoteSDPCommand());
commandMap.put("candidate", new AddIceCandidateCommand());
}
public Emitter.Listener onMessage = new Emitter.Listener() {
@Override
public void call(Object... args) {
JSONObject data = (JSONObject) args[0];
try {
String from = data.getString("from");
String type = data.getString("type");
JSONObject payload = null;
if(!type.equals("init")) {
payload = data.getJSONObject("payload");
}
// if peer is unknown, try to add him
if(!peers.containsKey(from)) {
// if MAX_PEER is reach, ignore the call
int endPoint = findEndPoint();
if(endPoint != MAX_PEER) {
Peer peer = addPeer(from, endPoint);
peer.pc.addStream(localMS);
commandMap.get(type).execute(from, payload);
}
} else {
commandMap.get(type).execute(from, payload);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
public Emitter.Listener onId = new Emitter.Listener() {
@Override
public void call(Object... args) {
String id = (String) args[0];
mListener.onCallReady(id);
}
};
public Emitter.Listener onCall = new Emitter.Listener() {
@Override
public void call(Object... args) {
String id = (String) args[0];
mListener.onCalling(id);
}
};
}
......................
.........
}
and when i call the inner class from another class its give me an enclosing class 当我从另一个类中调用内部类时,给我一个封闭的类
mm.MessageHandler messageHandler = new mm.MessageHandler();
when i make inner class messageHandler a static the error gone but its shown anothe error inside inner class so can i call the inner class without make it static ? 当我将内部类messageHandler设为静态时,错误消失了,但是内部类内部也显示了错误,因此我可以在不将其设为静态的情况下调用内部类吗?
mm n = new mm();
mm.MessageHandler messageHandler = n.new MessageHandler();
or use static in your inner class 或在内部类中使用static
hope that's help 希望有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.