星空网 > 软件开发 > 操作系统

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

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊公布“网一”开始时间,要创史上最盛大购物节!:https://www.ikjzd.com/articles/111649
独立站SaaS建站模式是什么?有什么优势?:https://www.ikjzd.com/articles/111650
读完这一篇,建站初期不彷徨!:https://www.ikjzd.com/articles/111651
机遇与挑战并存:东南亚社交电商怎么玩?:https://www.ikjzd.com/articles/111652
撰写方向找对了,FB广告转化率想不高都难!:https://www.ikjzd.com/articles/111653
卖家注意!43种商品出口这个国家有风险!:https://www.ikjzd.com/articles/111656
船底顶攻略(船底顶最详细攻略):https://www.vstour.cn/a/411239.html
川藏线自驾游要怎么走才比较划算呢?:https://www.vstour.cn/a/411240.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流