2

我有一个ViewPager包含几个WebViews. 我想将 a 设置OnClickListenerWebView. 我知道这WebView会消耗触摸,但为了克服这个问题,我在这里得到了一个解决方案,它也可以工作,但问题是当我在ViewPager WebView. 谁能建议我如何实现这一目标?任何帮助将不胜感激。请帮助我。

4

2 回答 2

0

我已经覆盖了以下方法来解决问题,它对我有用,

public boolean dispatchTouchEvent(MotionEvent ev) {
        super.dispatchTouchEvent(ev);
        if(ev.getPointerCount() == 1)
        {
            Toast.makeText(getApplication(), "...3....", Toast.LENGTH_SHORT).show();
        }
        return true;

    }

希望能帮助到你。干杯!!

于 2013-09-07T09:04:01.177 回答
0

我也面临同样的问题。但我通过使用 ImageView 克服了这个问题。这是我的 Webview 页面 xml 代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:background="@drawable/gradientbg"
    android:paddingBottom="3dip"
    android:paddingLeft="3dip"
    android:paddingRight="3dip"
    android:paddingTop="3dip" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >



        <WebView
            android:id="@+id/webView1"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:scrollbars="none" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"/>

    </RelativeLayout>
</FrameLayout>

然后我在我的适配器类中编写这段代码

public Object instantiateItem(View container, final int position) {
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = inflater.inflate(R.layout.mywebview, null);
    WebView wv = (WebView) layout.findViewById(R.id.webView1);
    ImageView im=(ImageView) layout.findViewById(R.id.imageView1);
    im.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        //    myPosition(position);

          //write you task here...
        }
    });
    }

一切顺利。此解决方案将强制为您工作。

于 2013-09-20T07:15:23.310 回答