我无法成功获取用户表达式并显示在 toast 中。
例如onPageFinished
,在我在textbox
. 因此,什么都没有显示toast
。
我想输入runtime
并显示在toast
.
当我对表达式进行硬编码并将其存储为字符串(final String mathProblem="2+1";)时,下面的代码可以正常工作。
但它不适用于我在textbox
. 任何帮助,将不胜感激。
下面是计算表达式的代码:
final WebView webView=(WebView)findViewById(R.id.webview1);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(final WebView view,final String url)
{
super.onPageFinished(view,url);
if(_hasAnsweredQuestion) return;
_hasAnsweredQuestion=true;
EditText editText1 = (EditText)findViewById(R.id.editText1);
String mathProblem=editText1.getText().toString();
final String newUrl="javascript:AndroidFunction.showToast("+mathProblem+");"
webView.loadUrl(newUrl);
}
});
这是显示吐司的代码
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new Object() {
@SuppressWarnings("unused")
@JavascriptInterface
public void showToast(final String webMessage) {
Toast.makeText(MainActivity.this,webMessage,Toast.LENGTH_SHORT).show();
}
},"AndroidFunction");
webView.loadUrl(" ");