我想实现的部分代码如下:imageview01.setOnClickListener(imageclick);imageview02.setOnClickListener(imageclick);imageview03.setOnClickListener(imageclick); ...private ImageView.OnClickListener imageclick=new ImageView.OnClickListener(){@Overridepublic void onClick(View v){/*三张牌同时翻面,并将为选择的两张牌变透明*/imageview01.setImageDrawable(getResources().getDrawable(image[0]));imageview02.setImageDrawable(getResources().getDrawable(image[1]));imageview03.setImageDrawable(getResources().getDrawable(image[2]));if(是imageview01被单击){...}else if(是imageview02被单击){...}else{...}}};注:我看书上写的是每个imageview写一个onclicklistener的监听方法 感觉挺麻烦的 不知道有没有这样实现的可能?如果有if语句的条件怎么写?
3 回答
九州编程
TA贡献1785条经验 获得超4个赞
Android系统中,控件的点击是通过OnClickListener来注册的。
判断方式:
获取ImageView实例
ImageView image = (ImageView) findViewById(R.id.image);
注册OnClick事件
image.setOnClickListener(new View.onClickListener(){
public void onClick(View view){
}};);
点击的时候在onClick的View中判断
if(view == image){} 表示已经点击
慕标琳琳
TA贡献1830条经验 获得超9个赞
public void onClick(View v)
中的View v的v就是你单击的imageview
可以试一试
if( v == imageview01 ){
}
if( v== imageview02){
}
if( v==imageview03 ){
}
如果不行就试一试
imageview iv = (imageview)v;
if( iv.getId() == imageview01.getId()){
}else if( iv.getId() == imageview02.getId()){
}else if( iv.getId() == imageview03.getId()){
}
在加班没空给你试一试,你自己试一试吧。
- 3 回答
- 0 关注
- 1072 浏览
添加回答
举报
0/150
提交
取消