我为我的browsergame创建了一个Android WebView应用程序。我使用Javascript-Alert询问用户是否真的要重置分数。但我想使用Android Alert而不是Javascript Alert。所以我创建了一个Javascript接口。
public class AlertJSInterface {
private Context context;
AlertJSInterface(Context c) {
context = c;
}
@JavascriptInterface
public boolean alert(String title, String message) {
AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle(title);
alert.setMessage(message);
alert.setCancelable(true);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alert.show();
//want to return true if clicked ok
}
现在我需要Javascript中Android Alert的返回值。问题是Android Alert有一个ClickListener。但是我怎样才能将值返回给Javascript?
if(AndroidAlert.alert(resetScoreTitle, resetScoreAck) === true) {
resetAll();
}
答案 0 :(得分:0)
如果在用户单击“确定”按钮后调用js函数,该怎么办?就像:
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
myWebView.loadUrl("javascript:resetAll();");
}
});