博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android:ViewPager为页卡内视图组件添加事件
阅读量:6503 次
发布时间:2019-06-24

本文共 1651 字,大约阅读时间需要 5 分钟。

在数据适配器PagerAdapter的初始化方法中添加按钮事件,这里是关键,首先判断当前的页卡编号。必须使用当前的view来获取按钮。

@Override        public Object instantiateItem(View arg0, int arg1) {            if (arg1 < 3) {                ((ViewPager) arg0).addView(mListViews.get(arg1 % 3), 0);            }            // 测试页卡1内的按钮事件            if (arg1 == 0) {                Button btn = (Button) arg0.findViewById(R.id.btn);                btn.setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        new AlertDialog.Builder(MainActivity.this)                                .setTitle("说明")                                .setMessage("单个页卡内按钮事件测试")                                .setNegativeButton("确定",                                        new DialogInterface.OnClickListener() {                                            @Override                                            public void onClick(                                                    DialogInterface dialog,                                                    int which) {                                            }                                        }).show();                    }                });            }            return mListViews.get(arg1 % 3);        }

如果不在这里面添加事件,那么在viewpager的视图经过切换后,原有的视图里组件事件将丢失。

viewpager.setOffscreenPageLimit(int num)可以设置预先加载的页面个数。因为每个页面都有若干个子页面,如果不预先把7个页面全加载完,那么在滑动几次后将丢失之前页面的一些子页面显示状态

另外,需要注意的是在ViewPager中,它除了加载当前页,还会加载当前页的左右页(无论它们实际可不可见)。除了当前页的View算是可见的,其左右页的View算是可见的(无论它们实际可不可见),即onWindowVisibilityChanged(int visibility)中的参数是View.VISIBLE。

转载于:https://www.cnblogs.com/njflash/articles/3045231.html

你可能感兴趣的文章
魅族/锤子/苹果 悬停效果的实现
查看>>
How to install sharepoint server 2010 sp2 in window 7 x64
查看>>
nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
查看>>
oracle如何获取当年第一月,如今年是2015年,则需获取 201501
查看>>
POJ 1185 炮兵
查看>>
C#的async和await
查看>>
经常使用MD5算法代码
查看>>
iOS开发- 隐藏状态栏(电池栏)
查看>>
CxImage的几种应用举例
查看>>
视频采集卡板子之后续工作
查看>>
Linux 线程管理
查看>>
烟花散尽漫说无(參考资料)
查看>>
SEO优化的黑帽手法是否值得使用?
查看>>
cocos2dx3.2升级Android5的坑
查看>>
与走在创业路上的学子交流——记网维“海大快点”创业团队
查看>>
第七章 ReentrantLock总结
查看>>
JS组件系列——封装自己的JS组件,你也可以
查看>>
swift-var/let定义变量和常量
查看>>
ios多线程操作(五)—— GCD串行队列与并发队列
查看>>
Phalcon资源文件管理(Assets Management)
查看>>