晕个家伙!单击的Android webview
我的android应用程序有一个web视图链接一个网页,假设“google.com”。我想要做的一件事是当用户点击“搜索”时,我的应用程序会为“搜索”敬酒。并且当用户点击“邮件”时将会吐司邮件。
我知道我可以添加javascript到html来处理onClick事件,如果该网站是我的。但情况是该网站是一个公共网站。有没有解决方法?
而且它也可以让我的应用程序使用的Web视图内的数据? 我正在学习REST和Jsoup。
谢谢!
晕个家伙!单击的Android webview
我的android应用程序有一个web视图链接一个网页,假设“google.com”。我想要做的一件事是当用户点击“搜索”时,我的应用程序会为“搜索”敬酒。并且当用户点击“邮件”时将会吐司邮件。
我知道我可以添加javascript到html来处理onClick事件,如果该网站是我的。但情况是该网站是一个公共网站。有没有解决方法?
而且它也可以让我的应用程序使用的Web视图内的数据? 我正在学习REST和Jsoup。
谢谢!
愿这可以帮助您:
好友你不能在HTML代码安卓otherthan写的onClick但你可以在你的Webview
对象实施onTouchListener
获得点击整个的WebView的WebView的内部对象的点击并重写你的onTouch()
方法是这样的:
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (v.getId() == R.id.my_WebView && event.getAction() == MotionEvent.ACTION_DOWN){
// write your code here
}
return false;
}
您可以通过onTouchListener实现一个onClickListener:
webView.setOnTouchListener(new View.OnTouchListener() {
public final static int FINGER_RELEASED = 0;
public final static int FINGER_TOUCHED = 1;
public final static int FINGER_DRAGGING = 2;
public final static int FINGER_UNDEFINED = 3;
private int fingerState = FINGER_RELEASED;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
if (fingerState == FINGER_RELEASED) fingerState = FINGER_TOUCHED;
else fingerState = FINGER_UNDEFINED;
break;
case MotionEvent.ACTION_UP:
if(fingerState != FINGER_DRAGGING) {
fingerState = FINGER_RELEASED;
// Your onClick codes
}
else if (fingerState == FINGER_DRAGGING) fingerState = FINGER_RELEASED;
else fingerState = FINGER_UNDEFINED;
break;
case MotionEvent.ACTION_MOVE:
if (fingerState == FINGER_TOUCHED || fingerState == FINGER_DRAGGING) fingerState = FINGER_DRAGGING;
else fingerState = FINGER_UNDEFINED;
break;
default:
fingerState = FINGER_UNDEFINED;
}
return false;
}
});
因此,当我在google.com上点击搜索时,不会显示搜索吗?无论如何非常感谢你! :) – Kennett
欢迎好友... –