如何将ViewOnclick Listener设置为ViewPager中的WebView?

时间:2013-09-05 09:13:29

标签: android android-webview android-viewpager onclicklistener

我有ViewPager,其中包含多个WebViews。我想将OnClickListener设置为WebView。我知道WebView消耗了触摸,但为了克服这个问题,我得到了一个解决方案here并且它的工作也正常,但问题是当我在ViewPager WebView中使用相同的代码时,它没有不行。任何人都可以建议我如何实现这一目标?任何帮助将非常感谢。请帮助我。

2 个答案:

答案 0 :(得分:0)

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

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

    }

希望它有所帮助。干杯!!

答案 1 :(得分: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...
        }
    });
    }
一切顺利。这个解决方案将为您提供强制性工作。