Android ViewPager里的所有图片设置监听打开同一活动显示不同图片
Android ViewPager里的所有图片设置监听请看前一文章
为了省时所以2层菜单只做一个点击任意图片后显示相应图片的活动
关键点是每个点击对应的图片如何传参给显示的活动
因为只启动一个活动,所以要把对应要显示的图片告诉活动,显示图片的代码
demoimageview = (ImageView) findViewById(R.id.demoimageView);
demoimageview.setImageResource(imageid);
那就是要把显示的图片ID传过去,但是ViewPager里的图片都是在布局里设置好的
如何设置对应要显示的图片呢,如果在布局那里把要显示的图片写好,用的时候读出来不就行了.
查资料后有个android:tag可用,再查有SetTag()和GetTag(),什么都可放,但是SetTag()要在
代码里执行,不想为每个图片都执行一次,只想增加android:tag,但参考下面例子发现android:tag
好像只能放字符串
http://blog.csdn.net/xxyy888/article/details/47019143
自己尝试这样写 android:tag="@drawable/tuijian_01" GetTag()后转成int,但传过去发生错误
多次测试后决定用字符串来判断,找到通过字符串查找图片资源ID的方法
http://blog.csdn.net/wo550415979/article/details/8786577
http://www.tuicool.com/articles/7vmaUrv
最终解决问题
布局里
android:id="@+id/page1_item1"
android:tag="tuijian_d01"
tuijian_d01就是想要对应ID显示的图片名,先设置监听,通过ID来判断然后GetTag,得到字符串
然后查找图片资源ID,传参,启动活动,代码如下
监听的代码,所有点击都启动同一活动
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.mainpagelogo:
mOpenTabHost.setCurrentTab(1);
break;
default:
//Toast.makeText(this,"Click ok"+view.getId(), Toast.LENGTH_SHORT).show(); Intent intent = new Intent(this, DemoImageViewActivity.class); //从布局中取Tag
Object tag = view.getTag();
//如果没有设置Tag就退出
if (tag == null) {
break;
}
String test = tag.toString();
//ctx.getPackageName()
//Context ctx = getBaseContext();
//通过字符串查找图片资源ID,如果this出错就有上面的方法
int imageid = getResources().getIdentifier(test, "drawable", this.getPackageName()); //把取到的ID传到下个活动
intent.putExtra("ImageID", imageid);
startActivity(intent);
break;
} }
启动的活动
public class DemoImageViewActivity extends Activity {
private ImageView demoimageview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo_image_view);
Intent intent = getIntent();
int imageid = intent.getIntExtra("ImageID", 0);
if (imageid == 0) {
finish();
}
demoimageview = (ImageView) findViewById(R.id.demoimageView);
demoimageview.setImageResource(imageid);
demoimageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
}
Android ViewPager里的所有图片设置监听打开同一活动显示不同图片的更多相关文章
- Android ViewPager 里有子ViewPager的事件冲突
在Android应用中有时候要用到类似网易新闻左右滑动页面且页面里又有左右滑动的图片功能,我不知道网易是怎么实现的,本人的做法是外面的BaseFragmentActivity布局就是TabViewPa ...
- android webview里获取和设置cookie
private class MyWebViewClient extends WebViewClient { public boolean shouldOverrideUrlLoading(WebVie ...
- android viewpager 图片翻页例子
使用ViewPager这个类可以轻松实现多个页面的滑动功能 viewpager默认在工具界面上是找不到的,需求添加android-support-v4.jar包: 如果没有找到,需要打开Android ...
- Android ViewPager设置监听注意事项
首先 implements View.OnClickListener 因为Item比较多用这个方便 设置监听要注意地方,如果在 onCreate 直接 findViewById布局里的ID是会出错的 ...
- [转]android:动态创建多个按钮 及 批量设置监听
之前投机取巧,先创建好多个按钮,再根据需要的数量进行部分隐藏,不过还是逃不过呀. 这样根本无法批量地 findId,批量地 设置监听. 所以今天还是认认真真地研究回“动态创建按钮”,终于,通过不断尝试 ...
- Android商城开发系列(十四)—— 设置监听RecyclerView的位置
在前面的博客中有讲到过点击一个图片按钮控制RecyclerView的滚动到顶部位置的效果,但是那个图片按钮一直处在一个显示的状态,今天我们来改造一下那个地方,我们要实现的效果是:一开始打开的时候看不到 ...
- Android ViewPager再探:增加滑动指示条
上一篇:<Android ViewPager初探:让页面滑动起来> ViewPager只是左右滑动有些丑,也不知道当前位于第几页面. 可以在上方加入滑动指示条,来确定当前位置. 只需要修改 ...
- Android ViewPager使用详解
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...
- 【Android 界面效果21】Android ViewPager使用详解
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...
随机推荐
- Android资源文件说明
一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...
- python实现字符串中的半全角转换
全角和半角的空格的Unicode值相差12256 除空格外的全角和半角的Unicode值相差65248 # -*- coding: utf-8 -*- def strQ2B(ustring): &qu ...
- springMVC结合AjaxForm上传文件
最近在项目中需要上传文件文件,之前一直都是form提交的,尝试了一下AjaxForm,感觉还比较好用,写篇随笔mark下,供以后使用. 准备工作: 下载jquery-form.js 相关jar: co ...
- jsp 页面间传递参数
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...
- 转: SSH框架总结(框架分析+环境搭建+实例源码下载)
原:http://blog.csdn.net/shan9liang/article/details/8803989 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernat ...
- OpenGLES渲染
OpenGLES渲染 OpenGLES使用GPU渲染图片,不占用CPU,但其使用还是挺复杂的. 先用OpenGLES显示一张图片: // // ShowViewController.m // Open ...
- 五十个小技巧提高PHP执行效率
在项目开发过程中,经常遇到了一些PHP处理程序性能底下的情况,程序运行在centos+nginx环境,虽然这个有很多的原因如:服务器本身配置,运行环境nginx服务,php-fpm配置等等,更多有一点 ...
- 18年11月5日 NOIP模拟赛
T1 题解 对于k=100的情况,贪心 对于100%的数据 可以发现,当前的决策只对后面的开采有影响,且剩余耐久度与之后的开采收益成正比,如果倒着考虑这个问题,得出i-n的星球1点耐久度所能获得的最大 ...
- 用python解析word文件(三):style
太长了,我决定还是拆开三篇写. (一)段落篇(paragraph) (二)表格篇(table) (三)样式篇(style)(本篇) 选你所需即可.下面开始正文. 在前两篇中,我们已经解析出了par ...
- [BJWC2011]最小三角形
嘟嘟嘟 这一看就是平面分治的题,所以就想办法往这上面去靠. 关键就是到\(mid\)点的限制距离是什么.就是对于当前区间,所有小于这个距离的点都选出来,参与更新最优解. 假设从左右区间中得到的最优解是 ...