如下图
我设置了一个数组存放4张图片,图片是直接R.drawable.xx放在数组中的,然后我想为这4张图片设置点击事件,请问这个switch语句要怎么写????求指导~~
如果你的四个图片分别在四个不同的imageview中显示的话,那就用v.getId()去筛选,
如果你的四个图片是在同一个imageview中不同的情况下显示不同图片的话,那就用下面的打标签的方法:
ImageView iv = (ImageView)findViewById(R.id.iv);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch ((int)v.getTag()){
case 0:
// 当imageview显示的是数组中的第一个图片,你点击imageview你要干什么
case 1:
// 当imageview显示的是数组中的第2个图片,你点击imageview你要干什么
case 2:
// 当imageview显示的是数组中的第3个图片,你点击imageview你要干什么
case 3:
// 当imageview显示的是数组中的第4个图片,你点击imageview你要干什么
break;
}
}
});
// 然后在每次更换imageview的src时,把该图片所在的数组中的角标设置到对应的tag就行了
iv.setImageResource(R.mipmap.ic_launcher);
iv.setTag(0);
// 其实要不要数组都无所谓,只要设置的src和tag对应起来即可
你这个点击事件要实现什么?获取点击的图片id还是什么?
v.getId();
我一般用的这个
建议看下swtich语句的参数以及释义,v.getResource()的返回值类型你知道吗?
用
switch(v.getId){
case R.id.button:
//要做的事
case R.id.button1:
//要做的事
}
这种挺好的