[英]how to detect div tag from html file?
I am loading html page in web view. 我正在Web视图中加载html页面。 In html there is a button;
在html中有一个按钮; on click of that, I have to start a new activity.
点击后,我必须开始一个新活动。 I have displayed html file but how to detect the click of button ?
我已经显示了html文件,但是如何检测按钮的单击?
html code for button: There is separate css file defined for button. 按钮的html代码:为按钮定义了单独的css文件。
<div id="button">
<ul>
<li><a title="Forming a Habit" href="Forming_Habit.html">
More
<span class="arrows">
»
</span>
</a></li>
</ul>
</div>
code for loading html: 加载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 class: webViewClient类:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
view.addJavascriptInterface(new Object(){
return true;
}
Please guide me. 请指导我。
use this : 用这个 :
Html: HTML:
<div id="button" onclick="Helper.methodeone()">
<ul>
<li><a title="Forming a Habit" href="Forming_Habit.html">
More
<span class="arrows">
»
</span>
</a></li>
</ul>
on java : 在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);
And in below class you can manage activity : 在下面的课程中,您可以管理活动:
public class Samlplejavaconect {
public void methodeone() {
Toast.makeText(this, "Hi", Toast.LENGTH_LONG).show();//FOR EXAMPLE
}
}
Try this 尝试这个
MainActivity.java 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 book.html
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="startactivity()">Click Me!</button>
<script>
function startactivity() {
AndroidFunction.activity();
}
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.