2 kprf2009 KPRF2009 于 2012.11.16 05:46 提问

Android ViewPager 怎么添加点击监听器?

我想对旋转的子view 添加监听事件。。。求高手帮助!!!!

我在网上找到的一个ViewPager 自动旋转的例子

高仿优酷自动滑动 http://download.csdn.net/detail/t12x3456/4751688

我想给每一个view加上一个监听器。。。我试了很久还是不会。。。

17个回答

qq_23291497
qq_23291497   2014.11.20 10:52
已采纳

viewPager.setAdapter(new MyAdapter());
viewPager.setOnPageChangeListener(onPageChangeListener);

l631768226
l631768226   2015.04.29 07:32
 public Object instantiateItem(ViewGroup container,  final int position)
                    {   
                        ImageView imageView = new ImageView(getActivity().getApplicationContext()); 
                        imageView.setImageBitmap(bitmap[position]);
                        container.addView(imageView);
                        mImageViews[position] = imageView;
                        mImageViews[position].setOnClickListener(new View.OnClickListener() {

                            public void onClick(View view) {
                                isInternetPresent = cd.isConnectingToInternet();
                                // TODO Auto-generated method stub
                                if(isInternetPresent)
                                {
                                    Intent intent = new Intent();
                                    intent.setClass(getActivity(), WebViewAct.class);
                                    intent.putExtra("url", NewsImage[position][Common.JURL]);
                                    intent.putExtra("key2", NewsImage[position][Common.NAME]);
                                    startActivity(intent);
                                }
                                else
                                {
                                    Toast.makeText(getActivity(), "无网络", Toast.LENGTH_SHORT).show();
                                }
                            }
                        });
                        return imageView;
                    }
qq_36211241
qq_36211241 给imageView直接设置点击事件,没有像你那样存在出租里面,为什么轮播图页面就开始转的越来越快,而且图片乱跳了
大约一年之前 回复
u013372185
u013372185   2014.11.19 10:29

不是什么每个view加监听,你把view装进list,list加载到pageAdapter,给viewpager设置监听,监听的就是全部view,要实现这种图片轮播(广告栏效果),就是一句关键代码viewPager.setCurrentItem(msg.arg1);,利用handler和thread,每隔几秒改变item的下标。

viewPager.setAdapter(new MyAdapter());
viewPager.setOnPageChangeListener(onPageChangeListener);

u011864458
u011864458   2014.11.21 07:28

这是我的个人笔记,你自己去瞧瞧,也许对你有帮助!
ViewPage来源于android -support.v4

  1. 什么是viewPage?
    ViewPage 类似于ListView 用于显示多个View集合. 支持页面左右滑动.

  2. 如何使用viewPage以及需要注意点?
    ViewPage 需要Adapter:
    PagerAdapter 有四个重要方法:
    (1) void destroyItem(ViewGroup container, int position, Object object): 销毁
    (2)Object instantiateItem(ViewGroup container, int position) : 添加View
    (3) int getCount() : 获得View总是
    (4) boolean isViewFromObject(View view, Object obj) : View比较

    监听器: setOnPageChangeListener :页面发生改变
    (1) void onPageSelected(int position) :View进行切换 :position 新的页面位置
    (2) void onPageScrolled(int arg0, float arg1, int arg2) :页面正在滚动的时候[滑动偏移信息],回调
    (3) void onPageScrollStateChanged(int arg0) :页面状态发生变化的时候,回调

ListView 因为使用相同的View,所以采用复用。
而ViewPage ,是基于View ,子类有许多不同,所以要注销.

public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View view= imageVisws.get(position % images.length);
container.removeView(view); // 重复加入会引起异常
container.addView(view);
return view;

导致异常:java.lang.IllegalStateException The specified child already has a parent. You must call removeView()
原因: 被加入的View 有父类, 所以添加到另外一个集合中之前,必须清除父类.
}

u013372185
u013372185   2014.11.19 10:32
qq_30685787
qq_30685787 太谢谢了 解决了
8 个月之前 回复
zhang625480
zhang625480   2013.09.25 15:34

我把这个demo修改了一下。。。可以动态添加小点的数目,并且添加了点击事件。。目前点击后会提示点击了哪一个。。。,要的话加我QQ:284176935

qq_23501439
qq_23501439   2014.11.18 22:47

demo修改了一下 ,加QQ841143577

heaimnmn
heaimnmn   Ds   Rxr 2014.11.18 11:18

你还是给出代码来看吧,,,

you456789zhiping
you456789zhiping   2014.11.20 21:32

viewpager是不是经过inflater绑定的,那么你的布局里面需要存在这个按钮,在inflater之后返回的view中find到这个布局中的button,然后设置点击事件。

qq_15652177
qq_15652177   2014.11.28 09:11

uiop123uiop123***[

`
strong text

  • uiop123 ----------

`

]1***

共17条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片