在下面的代碼中,它與井字遊戲有關,我編寫了一個循環,應循環9次。但我點擊了9次以上,循環未完成。我在這段代碼中找不到任何錯誤。for循環未完成
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
images[0]= (ImageView) findViewById(R.id.img1);
images[1]= (ImageView) findViewById(R.id.img2);
images[2]= (ImageView) findViewById(R.id.img3);
images[3]= (ImageView) findViewById(R.id.img4);
images[4]= (ImageView) findViewById(R.id.img5);
images[5]= (ImageView) findViewById(R.id.img6);
images[6]= (ImageView) findViewById(R.id.img7);
images[7]= (ImageView) findViewById(R.id.img8);
images[8]= (ImageView) findViewById(R.id.img9);
Log.i("LOG", "hiiiii ");
for (int i=0 ; i<9 ; i++) {
Log.i("LOG", "in: "+i);
images[i].setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
ImageView imageview= (ImageView) view;
if (playerone) {
cell[0]="o";
imageview.setImageResource(R.drawable.o);
}
else {imageview.setImageResource(R.drawable.z);cell[0]="z";}
playerone=!playerone;
}
});
Log.i("LOG", "in: "+i);
}
if ((images[0]==images[1]&& images[1]==images[2])
|| (images[3]==images[4]&& images[4]==images[5])
|| (images[6]==images[7]&& images[7]==images[8])
|| (images[0]==images[3]&& images[3]==images[6])
|| (images[1]==images[4]&& images[4]==images[7])
|| (images[2]==images[5]&& images[5]==images[8])
|| (images[0]==images[4]&& images[4]==images[7])
|| (images[2]==images[4]&& images[4]==images[6])
){Toast.makeText(getApplicationContext(), "winner", Toast.LENGTH_LONG).show();}
}
}
我不知道android,但是看起來您已經在9個不同的對象上註冊了9個監聽器,無論您點擊了多少次,它們都會被調用,例如:超過9次。 – user2268997