暈個傢伙!單擊的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
歡迎好友... –