Webview Html-button klicken-Erkennung in der Aktivität(java-code)

Ich versuche zu erkennen, die die html-Schaltfläche klicken Sie auf der webview in java-code(In Aktivität) .

Ich bezog mich dem anderen

Erkennen, klicken Sie auf die Schaltfläche HTML, über javascript in Android WebView

aber nicht funktioniert.Mein code:

index.html

<html>
    <head>
        <script language="javascript">
            function js1() {
                document.loginform.method="post";
                document.loginform.action = "https://example.com/chechlogin.asp";
            }
        </script>  
    </head>
    <body>
        <form name="loginform">
            <input type="text" name="empcode" value="58686" /><br/>
            <input type="password" name="emppassNTL" />
            <input type="submit" name="submit" id="submit_id" onclick="login.performClick();" />    
        </form>
    </body>
</html>

MainActivity.java

package com.example.webview;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {

   private EditText field;
   private WebView browser;

   @Override        
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      field = (EditText)findViewById(R.id.urlField);
      browser = (WebView)findViewById(R.id.webView1);
      browser.getSettings().setJavaScriptEnabled(true);
      browser.setWebViewClient(new MyBrowser());
      browser.loadUrl("file:///android_asset/index.html");
   }


   @SuppressLint("JavascriptInterface")
   public void open(View view){
      String url = field.getText().toString();
      browser.getSettings().setLoadsImagesAutomatically(true);
      browser.getSettings().setJavaScriptEnabled(true);
      browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
      browser.loadUrl(url);
      browser.addJavascriptInterface(new Object()
      {
          @JavascriptInterface
        public void performClick()
        {
            Log.d("LOGIN::", "Clicked");
             Toast.makeText(MainActivity.this, "Login clicked", Toast.LENGTH_LONG).show();
        }
      }, "login");

   }
   private class MyBrowser extends WebViewClient {
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
         view.loadUrl(url);
         return true;
      }
   }

   @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);
      return true;
   }

}  

Aber die performClick () - Methode nicht aufgerufen wird.

Bitte korrigieren Sie den Fehler.

  • Code aus der AndroidManifest <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" android:maxSdkVersion="19"/> <uses-permission android:name="android.die Genehmigung.INTERNET"/>
  • finden Sie diese stackoverflow.com/questions/4065312/...
  • Ich habe auch den gleichen link oben, und bezeichnet das gleiche, aber nicht workking....Bitte haben Sie einen Blick auf meinen code
InformationsquelleAutor iAmLearning | 2014-01-04
Schreibe einen Kommentar