2013-09-24 1 views
0

Я пытаюсь заставить мое приложение Android работать с JavaScript. Я включил JavaScript. И я понятия не имею, почему это не работает, все исследования, которые я сделал, говорят, что это должно. Буду признателен за любую оказанную помощь.Im новое для веб-просмотра android and using 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-адреса. Он работает отлично на моем браузере компьютера Однако не на моем телефоне. У меня включен JavaScript, но он не работает. Что я делаю не так? Спасибо

ответ

0

Не знаю, что вы притворяетесь именно с помощью onCreateOptionsMenu. Это было бы код, который должен быть в OnCreate

Таким образом, вы должны установить WebViewClient в методе OnCreate .

Тогда ваш код должен быть как:

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; 
} 

Дайте ему попробовать!

+0

Спасибо за Ваш комментарий Regys788880 Однако это не показалось, что помочь ... Любые другие идеи. Я работаю над этим уже 3 дня безрезультатно ... – st15jap

+0

Я отредактировал свой ответ, чтобы быть более полезным. – Regys