0

Android アプリを JavaScript で動作させようとしています。JavaScript を有効にしました。そして、私が行ったすべての調査で、なぜこれがうまくいかないのか、私にはわかりません。どんな助けでも大歓迎です。

ここに私のJavaコードがあります

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
    WebView webview = new WebView(this);
    setContentView(webview);
    setProgressBarVisibility(true); 

    webview.getSettings().setJavaScriptEnabled(true);
    webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);


    final Activity activity = this;
}



@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

        webview.goBack();

        return true;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);


    webview = new WebView(this);      
    webview.setWebViewClient(new WebViewClient() {  
        @Override  
        public boolean shouldOverrideUrlLoading(WebView view, String url)  
        {  
          view.loadUrl(url);  
          return true;  
        }  
      });                 
    setContentView(webview);      
    webview.loadUrl("http://www.example.com/droid/mobile_index.html");
    return true;}

そして、これが私がインターフェースできるようにしようとしているJavaScriptです。

   <script type="text/javascript">
   function reply_click(clicked_name)
   {
   var clicked_name;
document.location="http://www.example.com/droid/updatescore.php?location=" +    clicked_name;

     }
     </script>

私は動的に作成されたphpテーブルを持っています。そして、セルが常に同じ名前を持つとは限りません。JavaScript と DOM を使用して変数を取得し、URL 内の変数として新しい Web ページに渡します。それは私のコンピュータブラウザでは完璧に動作しますが、私の電話ではそうではありません. JavaScript を有効にしましたが、機能しません。私は何を間違っていますか?ありがとう

4

2 に答える 2

0

私の質問に答えたチュートリアルを見つけましたhttp://examples.javacodegeeks.com/android/core/ui/webview/android-webview-example/

于 2013-09-29T05:22:02.817 に答える
0

onCreateOptionsMenu で正確に何を装っているのかわかりません。それはonCreateにあるはずのコードです

そうすれば、onCreateメソッドでWebViewClientを設定する必要があります。

次に、コードは次のようになります。

private static WebView webView;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
    webview = new WebView(this);
    webview.setWebViewClient(new WebViewClient() {  
        @Override  
        public boolean shouldOverrideUrlLoading(WebView view, String url)  
        {  
              return false;  
        }  
      }); 
    setProgressBarVisibility(true); 

    webview.getSettings().setJavaScriptEnabled(true);
    webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

setContentView(webview);

    final Activity activity = this;
}



@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

        webview.goBack();

        return true;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    webview.loadUrl("http://www.example.com/droid/mobile_index.html");
    return true;
}

試してみる!

于 2013-09-26T22:54:55.423 に答える