【问题标题】:how to detect div tag from html file?如何从 html 文件中检测 div 标签?
【发布时间】:2015-01-29 11:42:31
【问题描述】:

我正在网页视图中加载 html 页面。在html中有一个按钮;点击它,我必须开始一个新的活动。我已经显示了 html 文件但是如何检测按钮的点击?

按钮的html代码: 为按钮定义了单独的 css 文件。

<div id="button">
     <ul>
         <li><a title="Forming a Habit" href="Forming_Habit.html">
             More
             <span class="arrows">
                 &nbsp;&#187;
             </span>
         </a></li>
     </ul>
 </div>

加载html的代码:

webView.setWebViewClient(new MyWebViewClient());

        WebSettings webSetting = webView.getSettings();
        webSetting.setJavaScriptEnabled(true);
        webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
        //webSetting.setBuiltInZoomControls(true);
        webSetting.setAllowContentAccess(true);

        webSetting.setDefaultTextEncodingName("utf-8");
        webView.loadUrl("file:///android_asset/"+htmlFile);

webViewClient 类:

@Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        view.addJavascriptInterface(new Object(){
        return true;
    }

请指导我。

【问题讨论】:

  • 从页面中获取按钮文本名称,然后为特定文本设置 onclick。试试这个,否则我会帮你写代码。

标签: android html webview


【解决方案1】:

使用这个:

HTML:

 <div id="button" onclick="Helper.methodeone()">
 <ul>
     <li><a title="Forming a Habit" href="Forming_Habit.html">
         More
         <span class="arrows">
             &nbsp;&#187;
         </span>
     </a></li>
 </ul>

关于java:

    webView.setWebViewClient(new MyWebViewClient());
    WebSettings webSetting = webView.getSettings();
    webSetting.setJavaScriptEnabled(true);
    webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
    //webSetting.setBuiltInZoomControls(true);
    webSetting.setAllowContentAccess(true);
    web.addJavascriptInterface(new Samlplejavaconect(), "Helper");//NEW LINE
    webSetting.setDefaultTextEncodingName("utf-8");
    webView.loadUrl("file:///android_asset/"+htmlFile);

在下面的课程中,您可以管理活动:

public class Samlplejavaconect {
    public void methodeone() {
        Toast.makeText(this, "Hi", Toast.LENGTH_LONG).show();//FOR EXAMPLE
    }
}

【讨论】:

    【解决方案2】:

    试试这个

    MainActivity.java

    public class MainActivity extends Activity {
    WebView webView;
    JavaScriptInterface jsInterface;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.webView1);
        WebSettings webSettings = webView.getSettings();
        // enable JavaScript
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebChromeClient(new WebChromeClient() {
        });
        jsInterface = new JavaScriptInterface(MainActivity.this, webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.addJavascriptInterface(jsInterface, "AndroidFunction");
        webView.loadUrl("file:///android_asset/book.html");
    }
    
    public class JavaScriptInterface {
        private Activity activity;
        WebView wb;
    
        public JavaScriptInterface(Activity activiy, WebView wb) {
            this.activity = activiy;
            this.wb = wb;
        }
        @JavascriptInterface
        public void activity() {
            try {
                Class activity = Class.forName("com.example.classname");
                Intent myIntent = new Intent(getApplicationContext(), activity);
                startActivity(myIntent);
                finish();
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    }
    

    book.html

    <!DOCTYPE html>
    <html>
    <body>
    <button type="button" onclick="startactivity()">Click Me!</button>
    <script>
    function startactivity() {
       AndroidFunction.activity();
    }
    </script>
    </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-22
      • 2020-01-17
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多