2014-07-08 3 views
0
public class MyWebView extends Dialog 
{ 
    protected WebView mWebView; 

    protected void onCreate(Bundle savedInstanceState) { 

     mWebView.addJavascriptInterface(new JavaScriptInterface(),"js2java"); 

     mWebView.getSettings().setJavaScriptEnabled(true); 
    } 

} 

    public class JavaScriptInterface 
    { 
     public void test(String response) 
     { 
      MyToast.showMessage(QWWebView.this.getContext(),response); 
     } 
    } 

처음 만들 때, 나를 위해 작동 대화 상자를 표시하지 보인다 다시 표시 :는 addJavascriptInterface 컨테이너 다시

new MyWebView().show(); 

"test"기능을 호출 할 수 없습니다.

답변

0

특히이 문제가 맞는지 확실하지는 않지만 필요한 정의가 추가되면 JavaScripInterface에 문제가 발생했습니다. 이것은 자바 스크립트에서 어떤 함수가 사용될지를 명확하게 정의함으로써 해결됩니다.

public class JavaScriptInterface 
{ 
    @JavascriptInterface 
    public void test(String response) 
    { 
     MyToast.showMessage(QWWebView.this.getContext(),response); 
    } 
} 

또한 ("사용하지 않는")을 @SuppressWarnings가 짜증나는 사용되지 않는 기능 경고를 제거합니다 유의하십시오.

코드 예제에서 스크립트를 실행하는 지점을 볼 수 없습니까?!?

+0

그 중 하나가 아니기 때문에 컨테이너를 마지막으로 활동으로 변경하고 해결했습니다. 해고하는 것만이 대화 상자를 숨기고 파괴하지는 않는 것 같습니다. – zsounder

관련 문제