viewpager图片广告条点击转跳fragment-----【轮播图点击转跳详情界面】
来源:互联网 发布:php curl 模拟cookie 编辑:程序博客网 时间:2024/05/16 18:54
先上效果图
例子就是最简单,就是入门的viewpager的轮播,想学习的同学也可以下载我的项目,下载地址在这
github.,里面有很详细的讲解,在自动轮播的时候加入和handler使其能够自动滚动,下面是能让viewpager能够自动滚动的代码,很简单就是获取当前的界面然后让当前的界面+1,然后发送一个空消息
android.os.Handler h=new android.os.Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int item = viewPager.getCurrentItem() + 1; viewPager.setCurrentItem(item);//这个先写,int item后写 h.sendEmptyMessageDelayed(0, 4000); } };
记得还要在oncreat方法里面再次发送一个消息
h.sendEmptyMessageDelayed(0, 4000);
然后一般做新闻客户端的详情页面的跳转都是序列化对象,然后进行Activity级别的跳转。我当时就想fragment这么好用,为啥不能用fragment啊?想了好久就果断想用点击图片转跳至fragment。这样还不用序列化对象。多方便啊,但是网上找了很久没有这方面的例子,然后下面这些代码是写在viewpager适配器中 instantiateItem这个方法中的。注意是在设置了图片数据之后才进行下面的代码。
这里讲讲以前遇到的一个bug,因为fragment是依托Activity才能存在的。所以我没有设置if(isclick)这个方法之前,只要是点击了图片然后转跳了fragment之后,在fragment上面点击几下,然后想返回原来带有viewpager的那个界面也需要点击同样的次数才能返回原来的界面。因为在fragment的下面就是Activity。虽然点击的是fragment,但是实际上点击的是fragment。
然后解决这个bug是设置了一个boolean类型的值,最开始设置为true,然后点了及fragment之后就改为false,这样在点进fragment之后就不能再点击了。然后重点来了
以下是转跳的代码
imageView.setTag(imageaaa[realPosition]);///得到位置,某个图片的位置 imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { switch ((int) v.getTag()) { case R.drawable.a: if (isclick) { h.removeCallbacksAndMessages(null); getSupportFragmentManager(). beginTransaction(). //如果不加下面这个语句是直接退出的!!!! addToBackStack(null). replace(R.id.aaa, new newfragment()). commit(); isclick=false; Log.e("第一次的情况"," "+isclick); h2.sendEmptyMessageDelayed(0,4000); } Log.e("发了消息之后情况"," "+isclick); break; case R.drawable.b: if (isclick) { Log.e("第二个fragment开始", isclick + " "); getSupportFragmentManager(). beginTransaction(). addToBackStack(null). replace(R.id.aaa, new newfragment1()). commit(); isclick=false; } Log.e("第二个fragment结束", isclick + " "); break; case R.drawable.c: if (isclick) { getSupportFragmentManager(). beginTransaction(). addToBackStack(null). replace(R.id.aaa, new newfragment2()). commit(); isclick=false; } break; case R.drawable.d: if (isclick) { getSupportFragmentManager(). beginTransaction(). addToBackStack(null). replace(R.id.aaa, new newfragment3()). commit(); isclick=false; } break; } } });
详细的viewpager的轮播在我的代码中都有,还望大家多多指教
下载地址 github.
- viewpager图片广告条点击转跳fragment-----【轮播图点击转跳详情界面】
- Fragment+ViewPager实现仿微信点击和滑动切换界面
- viewpager图片点击事件
- ViewPager+Fragment(滑动+点击)
- 自定义ViewPager,广告条目可点击和广告图片宽高自适应。
- ListView Item点击事件跳转详情界面
- Android 安卓 fragment+viewpager 仿qq界面 实现点击菜单切换界面+滑动切换viewpager切换界面
- ViewPager广告中的图片请求自网络,监听跳转至点击图片对应Url的webView
- 融云开发文档之会话界面--点击图片消息查看详情
- Android之Fragment+ViewPager实现点击+滑动界面切换学习笔记
- Viewpager和Fragment点击滑动切换
- 实用知识:点击通知进行界面转跳
- Android:详情界面左右滑动看更多,ViewPager动态添加Fragment,仿51job详情界面
- 网站广告联盟点击作弊概述(转)
- Fragment,ActionBar,ViewPager实现选项卡实现点击切换Fragment
- Fragment嵌套ViewPager,Fragment第二次点击崩溃问题
- 点击RaidoGroup切换Fragment(Fragment中嵌套ViewPager)
- 购物车详情界面点击加入购物车(四)
- [ACM] HDU 2054 A == B?
- 使用 nvm 管理多版本 node
- Bootstrap table th td 实现文字垂直居中
- 纳税服务系统【用户模块之使用POI导入excel、导出excel】
- java中的this引用
- viewpager图片广告条点击转跳fragment-----【轮播图点击转跳详情界面】
- sql大全
- Android解决多个Fragment切换时布局重新实例化问题和getActivity空指针问题
- 属性的分类
- 外部排序和内部排序
- 数据结构-图-知识点总结
- apache + varnish 实现负载均衡
- C# 插入数据库datetime类型问题
- 【c#】imagelist图片失真