java version "1.7.0_45"
您好,
具有构造函数参数的类,该参数具有将在客户端
中实现的接口public class SInvitationListenerImp {
public interface MUCRoomListener {
void onInvitationReceived(String roomName, String inviter, String reason, String password, String message);
}
public SInvitationListenerImp(MUCRoomListener roomListenerEvent, int clientConnection) {
mMUCRoomListener = roomListenerEvent;
mClientConnection = clientConnection;
}
}
在我的客户端中,我可以在构造函数参数中创建一个匿名类传递并实现接口。
然而,这并不适用于争论
new SInvitationListenerImp(MainActivity.this, connection).MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
}
};
这没有构造函数参数。但是,需要这些论点(所以这个woudn不能满足我的需要)
new SInvitationListenerImp.MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
}
};
是否可以将参数传递给构造函数并实现接口?
非常感谢任何建议
更新结果为'.' or ')' expected
:
new SInvitationListenerImp(new SInvitationListenerImp.MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
}
} MainActivity.this, connection);
答案 0 :(得分:2)
你的语法错了......你可能需要这样的东西,
new SInvitationListenerImp(new SInvitationListenerImp.MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
// Interface method body.
}
}, connection);