我想實現的部分代碼如下: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 關注
- 1143 瀏覽
添加回答
舉報
0/150
提交
取消