cocos2dx中点击事件调用java中的方法的问题

我在c++ 点击事件通过jni调用java中的一个方法,但是发现在java中的那个方法被多次调用,原来是java中的那个Cocos2dxRenderer中定义的点击事件被调用了,分别执行了handleActionDown handleActionUp handleActionMove 这三个书事件。怎么解决

我付上源代码:

这是c++我的那个点击事件调用的方法:

void handleNotice(const char* cmd, Json::Value& args){
JniMethodInfo info;
if (JniHelper::getStaticMethodInfo(info, “org/cocos2dx/cpp/AppActivity”, “handleNotice”, “(Ljava/lang/String;Ljava/lang/String;)V”)){
Json::FastWriter w;
w.omitEndingLineFeed();
std::string str = w.write(args);
jstring jcmd = info.env->NewStringUTF(cmd);
jstring jstr = info.env->NewStringUTF(str.c_str());
info.env->CallStaticVoidMethod(info.classID, info.methodID, jcmd, jstr);
info.env->DeleteLocalRef(jstr);
info.env->DeleteLocalRef(jcmd);
}
}

这是java中的方法:

public static void handleNotice(String cmd, String args){
if(cmd.compareTo(“recharge”) == 0){
Gson gs = new Gson();
Recharge p = gs.fromJson(args, Recharge.class);
String itemid = p.getItemid();
int price = p.getPrice();
String desc = p.getDesc();
if(price == 6){
handleMessage();
//RechargeCallback(“6”);
//instance.rechargeProps(itemid, price, desc);
}
}
}
附件中的图片是java中会被触发的事件

点击事件本来就有down、up、move、cansole等事件。
你在c++中的事件调用没判断eventtype?

在c++中判断了,但是在java中仍然会执行那三个事件