Application for playing tic-tac-toe wrote. Made it so that you can count the victory. In the code, everything seems to be clear, the fact is that after the victory, not pressed ImageView should become non-clickable, in the if statements you will see how I did it. The bottom line is that by clicking on a button, all ImageView should become active again (but still some are not clickable), what to do, where is the bug?
package com.example.user.tic_tac_toe; import android.graphics.Color; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView text; boolean bool = true; ImageView image_1, image_2, image_3, image_4, image_5, image_6, image_7, image_8, image_9; Button button; int im1, im2, im3, im4, im5, im6, im7, im8, im9; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); im1 = im2 = im3 = im4 = im5 = im6 = im7 = im8 = im9 = 0; text = (TextView) findViewById(R.id.textView); button = (Button) findViewById(R.id.button); image_1 = (ImageView) findViewById(R.id.image_1); image_1.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_2 = (ImageView) findViewById(R.id.image_2); image_2.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_3 = (ImageView) findViewById(R.id.image_3); image_3.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_4 = (ImageView) findViewById(R.id.image_4); image_4.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_5 = (ImageView) findViewById(R.id.image_5); image_5.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_6 = (ImageView) findViewById(R.id.image_6); image_6.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_7 = (ImageView) findViewById(R.id.image_7); image_7.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_8 = (ImageView) findViewById(R.id.image_8); image_8.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); image_9 = (ImageView) findViewById(R.id.image_9); image_9.setImageDrawable(getResources().getDrawable(R.drawable.if_icon)); final View.OnClickListener onClickListener = new View.OnClickListener() { @Override public void onClick(View view) { switch(view.getId()){ case R.id.image_1: if(bool == true){ image_1.setImageResource(R.drawable.if_cross); image_1.setColorFilter(Color.RED); bool = false; image_1.setClickable(false); im1=1; }else{ image_1.setImageResource(R.drawable.if_circle); image_1.setColorFilter(Color.BLUE); bool = true; image_1.setClickable(false); im1=2; }break; case R.id.image_2: if(bool == true){ image_2.setImageResource(R.drawable.if_cross); image_2.setColorFilter(Color.RED); bool = false; image_2.setClickable(false); im2=1; }else{ image_2.setImageResource(R.drawable.if_circle); image_2.setColorFilter(Color.BLUE); bool = true; image_2.setClickable(false); im2=2; }break; case R.id.image_3: if(bool == true){ image_3.setImageResource(R.drawable.if_cross); image_3.setColorFilter(Color.RED); bool = false; image_3.setClickable(false); im3=1; }else{ image_3.setImageResource(R.drawable.if_circle); image_3.setColorFilter(Color.BLUE); bool = true; image_3.setClickable(false); im3=2; }break; case R.id.image_4: if(bool == true){ image_4.setImageResource(R.drawable.if_cross); image_4.setColorFilter(Color.RED); bool = false; image_4.setClickable(false); im4=1; }else{ image_4.setImageResource(R.drawable.if_circle); image_4.setColorFilter(Color.BLUE); bool = true; image_4.setClickable(false); im4=2; }break; case R.id.image_5: if(bool == true){ image_5.setImageResource(R.drawable.if_cross); image_5.setColorFilter(Color.RED); bool = false; image_5.setClickable(false); im5=1; }else{ image_5.setImageResource(R.drawable.if_circle); image_5.setColorFilter(Color.BLUE); bool = true; image_5.setClickable(false); im5=2; }break; case R.id.image_6: if(bool == true){ image_6.setImageResource(R.drawable.if_cross); image_6.setColorFilter(Color.RED); bool = false; image_6.setClickable(false); im6=1; }else{ image_6.setImageResource(R.drawable.if_circle); image_6.setColorFilter(Color.BLUE); bool = true; image_6.setClickable(false); im6=2; }break; case R.id.image_7: if(bool == true){ image_7.setImageResource(R.drawable.if_cross); image_7.setColorFilter(Color.RED); bool = false; image_7.setClickable(false); im7=1; }else{ image_7.setImageResource(R.drawable.if_circle); image_7.setColorFilter(Color.BLUE); bool = true; image_7.setClickable(false); im7=2; }break; case R.id.image_8: if(bool == true){ image_8.setImageResource(R.drawable.if_cross); image_8.setColorFilter(Color.RED); bool = false; image_8.setClickable(false); im8=1; }else{ image_8.setImageResource(R.drawable.if_circle); image_8.setColorFilter(Color.BLUE); bool = true; image_8.setClickable(false); im8=2; }break; case R.id.image_9: if(bool == true){ image_9.setImageResource(R.drawable.if_cross); image_9.setColorFilter(Color.RED); bool = false; image_9.setClickable(false); im9=1; }else{ image_9.setImageResource(R.drawable.if_circle); image_9.setColorFilter(Color.BLUE); bool = true; image_9.setClickable(false); im9=2; }break; } if(im1 == 1 && im2 == 1 && im3 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_4.setClickable(false); image_5.setClickable(false); image_6.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im4 == 1 && im5 == 1 && im6 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_1.setClickable(false); image_2.setClickable(false); image_3.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im7 == 1 && im8 == 1 && im9 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_4.setClickable(false); image_5.setClickable(false); image_6.setClickable(false); image_3.setClickable(false); image_2.setClickable(false); image_1.setClickable(false); } if(im1 == 1 && im4 == 1 && im7 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_2.setClickable(false); image_3.setClickable(false); image_5.setClickable(false); image_6.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im2 == 1 && im5 == 1 && im8 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_1.setClickable(false); image_9.setClickable(false); image_3.setClickable(false); image_4.setClickable(false); image_6.setClickable(false); image_7.setClickable(false); } if(im3 == 1 && im6 == 1 && im9 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_4.setClickable(false); image_5.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_1.setClickable(false); image_2.setClickable(false); } if(im1 == 1 && im5 == 1 && im9 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_4.setClickable(false); image_2.setClickable(false); image_6.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_3.setClickable(false); } if(im3 == 1 && im5 == 1 && im7 == 1){ text.setText("RED WIN"); text.setTextColor(Color.RED); image_4.setClickable(false); image_2.setClickable(false); image_6.setClickable(false); image_1.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im1 == 2 && im2 == 2 && im3 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_4.setClickable(false); image_5.setClickable(false); image_6.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im4 == 2 && im5 == 2 && im6 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_1.setClickable(false); image_2.setClickable(false); image_3.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im7 == 2 && im8 == 2&& im9 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_4.setClickable(false); image_5.setClickable(false); image_6.setClickable(false); image_3.setClickable(false); image_2.setClickable(false); image_1.setClickable(false); } if(im1 == 2 && im4 == 2 && im7 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_2.setClickable(false); image_3.setClickable(false); image_5.setClickable(false); image_6.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } if(im2 == 2 && im5 == 2 && im8 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_1.setClickable(false); image_9.setClickable(false); image_3.setClickable(false); image_4.setClickable(false); image_6.setClickable(false); image_7.setClickable(false); } if(im3 == 2 && im6 == 2 && im9 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_4.setClickable(false); image_5.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_1.setClickable(false); image_2.setClickable(false); } if(im1 == 2 && im5 ==2 && im9 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_4.setClickable(false); image_2.setClickable(false); image_6.setClickable(false); image_7.setClickable(false); image_8.setClickable(false); image_3.setClickable(false); } if(im3 == 2 && im5 == 2 && im7 == 2){ text.setText("BLUE WIN"); text.setTextColor(Color.BLUE); image_4.setClickable(false); image_2.setClickable(false); image_6.setClickable(false); image_1.setClickable(false); image_8.setClickable(false); image_9.setClickable(false); } button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { switch (view.getId()){ case R.id.button: bool = true; image_1.setImageResource(R.drawable.if_icon); image_1.setClickable(true); image_2.setImageResource(R.drawable.if_icon); image_2.setClickable(true); image_3.setImageResource(R.drawable.if_icon); image_3.setClickable(true); image_4.setImageResource(R.drawable.if_icon); image_4.setClickable(true); image_5.setImageResource(R.drawable.if_icon); image_5.setClickable(true); image_6.setImageResource(R.drawable.if_icon); image_6.setClickable(true); image_7.setImageResource(R.drawable.if_icon); image_7.setClickable(true); image_8.setImageResource(R.drawable.if_icon); image_8.setClickable(true); image_9.setImageResource(R.drawable.if_icon); image_9.setClickable(true); image_1.setColorFilter(Color.BLACK); image_2.setColorFilter(Color.BLACK); image_3.setColorFilter(Color.BLACK); image_4.setColorFilter(Color.BLACK); image_5.setColorFilter(Color.BLACK); image_6.setColorFilter(Color.BLACK); image_7.setColorFilter(Color.BLACK); image_8.setColorFilter(Color.BLACK); image_9.setColorFilter(Color.BLACK); } } }); } }; image_1.setOnClickListener(onClickListener); image_2.setOnClickListener(onClickListener); image_3.setOnClickListener(onClickListener); image_4.setOnClickListener(onClickListener); image_5.setOnClickListener(onClickListener); image_6.setOnClickListener(onClickListener); image_7.setOnClickListener(onClickListener); image_8.setOnClickListener(onClickListener); image_9.setOnClickListener(onClickListener); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }