找到方法了,添加第二个按钮的方法是“setButton2”。。。。。
package org.cocos2d_x.samples.luajavabridge;
import org.cocos2dx.lib.Cocos2dxActivity;
import org.cocos2dx.lib.Cocos2dxLuaJavaBridge;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
public class Luajavabridge extends Cocos2dxActivity {
static private Luajavabridge s_instance;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
s_instance = this;
}
static {
System.loadLibrary("game");
}
static public void showAlertDialog(final String title,
final String message, final int luaCallbackFunction) {
s_instance.runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog alertDialog = new AlertDialog.Builder(s_instance).create();
alertDialog.setTitle(title);
alertDialog.setMessage(message);
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
s_instance.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxLuaJavaBridge.callLuaFunctionWithString(luaCallbackFunction, "OK");
Cocos2dxLuaJavaBridge.releaseLuaFunction(luaCallbackFunction);
}
});
}
});
alertDialog.setButton2("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
s_instance.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxLuaJavaBridge.callLuaFunctionWithString(luaCallbackFunction, "CANCEL");
Cocos2dxLuaJavaBridge.releaseLuaFunction(luaCallbackFunction);
}
});
}
});
alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
});
}
}
```
LUA调用代码如下:
local javaClassName = "org/cocos2d_x/samples/luajavabridge/Luajavabridge"
local javaMethodName = "showAlertDialog"
local javaParams = {
"注意",
"是否保存当前文件?,
function(event)
if event == "OK" then
elseif event=="CANCEL" then
end
end
}
local javaMethodSig = "(Ljava/lang/String;Ljava/lang/String;I)V"
luaj.callStaticMethod(javaClassName, javaMethodName, javaParams, javaMethodSig)
```