Función javascript de llamada de una actividad de Android

Quiero llamar a una función javascript de una actividad de Android, pero no parece funcionar. He utilizado la función webview android webview.loadUrl ("javascript: function ()"); Este es mi código androide:

package com.example.web; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.webkit.WebView; public class MainActivity extends Activity { WebView webview; int i=30; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webview = (WebView)findViewById(R.id.webView1); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("file:///android_asset/index.html"); webview.loadUrl("javascript:change(i)"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } 

Este es mi código html:

  <html> <body> <div id="texta">text</div> <script> function change(num){ document.getElementById("texta").innerHTML=num; } </script> </body> </html> 

Es probable que la página no esté completamente cargada en el momento en que intente ejecutar el javascript. Puedes intentar:

 webView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { view.loadUrl("javascript:change(i)"); } }); 

Tratar:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webview = (WebView)findViewById(R.id.webView1); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("file:///android_asset/index.html"); webview.loadUrl("javascript:change("+String.valueOf(i)+")"); } 

¿Qué es "i"? Si "i" es un número, entonces especifique el número, si "i" es un carácter, entonces amablemente adjúntelo en doble cotización, está llamando a un método de algunos argumentos, por lo que amablemente corregir su error.

Prueba webview.loadUrl ("javascript: change (\" "+ i" \ ")");

Introduzca aquí la descripción de la imagen

  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Activity MyActivity = this; text=(EditText)findViewById(R.id.textValue); Show=(Button)findViewById(R.id.textButton); webView= (WebView) findViewById(R.id.webView); getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); webView.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { MyActivity .setTitle("Loading..."); MyActivity .setProgress(progress * 100); if (progress == 100) MyActivity .setTitle("Android Dhina"); } }); webView.setWebViewClient(new WebViewClient()); webView.addJavascriptInterface(new WebAppInterface(this), "Android"); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("file:///android_asset/web.html"); Show.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { webView.loadUrl("javascript:callFromAndroidActivity (\""+text.getText().toString()+"\")"); } }); 

Intentalo:

 String URL = "file:///android_asset/filename.html"; webviewBrowser=(WebView)findViewById(R.id.webview); webview.getSettings().setJavaScriptEnabled(true); webview.setWebViewClient(new WebViewClient(webview.loadUrl(URL)); 

Intente cambiar esto:

 webview.loadUrl("javascript:change(i)"); 

a esto

 webview.loadUrl("javascript:change(" + i +")"); 

La forma en que usted tiene que escribir el "i" no es la variable "i" de su código java, sino sólo una cadena llamada "i".

  • `Preload.js` no ha podido cargar algunos archivos en dispositivos Android
  • ¿Podría alguien de una vez por todas explicar por favor No puedo llamar a determinedVisibility () - nunca vi una conexión para el pid
  • Seleccionar cámara trasera en el dispositivo Android - jsartoolkit5
  • Uncaught TypeError: No se puede leer la propiedad 'tagName' de null
  • ¿Cómo puedo detener la capitalización automática en un campo de introducción de texto html en un teléfono Android / Samsung?
  • Jquery ajax llamada dentro de Phonegap a RESTful API
  • HTML Mobile: obliga al teclado virtual a ocultar
  • Force Android WebView fuera de línea
  • Cómo poblar webview en android con texto sin formato de base de datos y ser capaz de manejar caracteres de nueva línea
  • Navegador nativo de Android duplicando el lienzo HTML5 (fino en cromo)
  • Jquery 1.6.2 funciona en el emulador de Android 2.1 pero no en el Samsung Galaxy S
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.