2011-06-17 1 views
1

を応答を停止)ハンドラ:一つだけのAndroidのWebViewでアラートjavascriptのは、それは(私はjavascriptのアラートを設定

@Override 
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result) 
{ 
    Log.d("alert", message); 
    Toast.makeText(activity.getApplicationContext(), message, 3000).show(); 
    return true; 
}; 

は残念ながら、これは一度だけポップアップトーストを示し、その後、 WebViewはすべてのイベントに応答しなくなります。私はメニューコマンドを使って別のページを読み込むことさえできません。 LogCatでエラーは表示されませんが、ここで問題が発生する可能性はありますか?

答えて

9

JsResult resultパラメータでcancel()またはconfirm()を呼び出す必要があります。

+0

を追加するには、私にとって魅力のように働きました。私がドキュメンテーションで見つけられなかったこれらの答えを見ると、私はいつも不思議に思っています。どうやってそれを思いついたのですか?とにかくたくさんの時間を節約してくれてありがとう! – Yahel

3

この

 public boolean onJsAlert(WebView view, String url, String message, JsResult result) { 
      result.confirm(); 
      Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show(); 
      return true; 
     } 
関連する問題