android 中有没有判断imageview是否以被单击的函数方法?

我想实现的部分代码如下:
imageview01.setOnClickListener(imageclick);
imageview02.setOnClickListener(imageclick);
imageview03.setOnClickListener(imageclick); 
...
private ImageView.OnClickListener imageclick=
new ImageView.OnClickListener(){
@Override
public 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语句的条件怎么写?

犯罪嫌疑人X
浏览 1097回答 3
3回答

九州编程

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){} 表示已经点击

慕标琳琳

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()){}在加班没空给你试一试,你自己试一试吧。
打开App,查看更多内容
随时随地看视频慕课网APP