-1
Android経由でJavaScriptとやりとりしようとしています。私はチュートリアルに続いて[ここ] [1]を見つけました。Androidのウィンドウは既に警告されています。JavaScriptのインターフェイス
しかし、私は値を渡すか、
webEngine=(WebView) findViewById(R.id.webengine);
webEngine.getSettings().setJavaScriptEnabled(true);
webEngine.addJavascriptInterface(this, "android");
webEngine.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return false;
}
});
webEngine.loadUrl("http://www.a11y.in/a11y_fs/");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
// TODO Auto-generated method stub
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
// Handle item selection
switch (item.getItemId())
{
case R.id.edit:
webEngine.loadUrl("javascript:var path =android.path();var newContent=android.newContent();var name = 'myname'; android.toast(name););
return true;
case R.id.renarration:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public String path()
{
return xPath = "//H3[@id='header']";
}
public String newContent()
{
return newContent ="my New Home";
}
public void toast(String x)
{
Toast.makeText(this, "hello from js"+x, Toast.LENGTH_LONG).show();
}
戻って値を取得することはできませんよその次warning.system.out.printlnも
WARN/KeyCharacterMap(310): No keyboard for id 0
WARN/KeyCharacterMap(310): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
WARN/InputManagerService(66): Window already focused, ignoring focus gain of: [email protected]
原因
が動作していない取得していますplz help
返信いただきありがとうございます。今すぐ自分のコードを更新しました。私は関数のパスと新しいコンテンツを置くことを忘れていました。二重引用符を一重引用符に変更しました。それでも動作していません。編集メニューボタンをクリックすると、最後の警告が表示されます。 – Droidme
私の懸念もsystem.out.printlnもdosentの仕事です。メソッドがアクセスされていないのですか? – Droidme
あなたのコードを試してみましたが、それは私にとってはうまくいくようでした。「hello from jsmyname」トーストメッセージが表示されます。私が必要とした変更は、1)loadUrl呼び出しで欠落している引用符を追加する、2)メニューXMLファイルを作成しなかったので、コードからメニュー項目を作成した、3)JavaコードからWebViewインスタンスを作成したレイアウトをロードしてレイアウト内に配置する代わりに、しかし、私はこれらの変更が影響を及ぼさないと考えています。最初の修正なしではコンパイルできず、最後の2つの修正はWebViewに影響しませんでした。 –