Android 安卓网络视图点击
我有一个Android 安卓网络视图点击,android,webview,click,Android,Webview,Click,我有一个webview,我发送了一个URL。页面显示正常,但我无法与显示的页面交互。我不能点击按钮,我只有一个正面。。。 你知道这个问题吗 我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web); WebView myWebView = (WebView) find
webview
,我发送了一个URL。页面显示正常,但我无法与显示的页面交互。我不能点击按钮,我只有一个正面。。。
你知道这个问题吗
我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("www.google.com");
myWebView.setWebViewClient(new WebViewClient());
}
可以使用以下方法将onclick添加到webview:
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
Toast.makeText(WebActivity.this,"Click Detected",Toast.LENGTH_LONG).show();
}
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;
}
});
如果webview中有一个按钮,则您在webview中显示的网页将处理该按钮。您无法获得该回调。您可以使用以下方法将onclick添加到webview:
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
Toast.makeText(WebActivity.this,"Click Detected",Toast.LENGTH_LONG).show();
}
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;
}
});
如果webview中有一个按钮,则您在webview中显示的网页将处理该问题。您无法获得该回调。请尝试以下代码,我认为它可以工作:
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
请尝试以下代码,我认为它会起作用:
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
在上面代码中的部分//您的onClick代码上显示一个ttoast。我无法在我的web视图中单击,我使用了您的方法但它不起作用:/pastebin中粘贴您的代码并给我链接…让我在上面代码中的部分//您的onClick代码上显示一个ttoast。我无法在我的web视图中单击,我使用你的方法,但它不起作用:/pastebin中粘贴你的代码,并给我链接…让我看看