ユーザー表現を取得してトーストに表示することに成功できませんでした。
たとえば、onPageFinished
関数が呼び出されて実行が終了した後、関数に数式を記述しtextbox
ます。したがって、 には何も表示されませんtoast
。
入力を取得して にruntime
表示したいtoast
。
以下のコードは、式をハードコードして、このように文字列(final String mathProblem="2+1";) として保存すると正常に動作します。
しかし、.csv ファイルに入力したランタイム式では機能しません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(" ");