如何在第一次和第二次触摸时进行不同的活动(适用于Android的TictaToe)

如何在第一次和第二次触摸时进行不同的活动(适用于Android的TictaToe),android,tic-tac-toe,Android,Tic Tac Toe,我是一个在android上创建应用程序的初学者,但作为我的第一个项目,我正在尝试构建一个TictaToe游戏。。但是我试着在第一次触按按钮时设置X,在第二次触按时设置O的时间大约很长。我不知道怎么解决这个问题。 我觉得这应该是工作,因为我没有以下,但它不是。。。! 这是我的源代码: public class MainActivity extends Activity implements OnClickListener{ private Button b1,b2,b3,b4,b5,b6,b7,

我是一个在android上创建应用程序的初学者,但作为我的第一个项目,我正在尝试构建一个TictaToe游戏。。但是我试着在第一次触按按钮时设置X,在第二次触按时设置O的时间大约很长。我不知道怎么解决这个问题。 我觉得这应该是工作,因为我没有以下,但它不是。。。! 这是我的源代码:

public class MainActivity extends Activity implements OnClickListener{

private Button b1,b2,b3,b4,b5,b6,b7,b8,b9;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    b1=(Button) findViewById(R.id.button1);
    b1.setOnClickListener(this);

    b2=(Button) findViewById(R.id.button2);
    b2.setOnClickListener(this);

    b3=(Button) findViewById(R.id.button3);
    b3.setOnClickListener(this);

    b4=(Button) findViewById(R.id.button6);
    b4.setOnClickListener(this);

    b5=(Button) findViewById(R.id.button10);
    b5.setOnClickListener(this);

    b6=(Button) findViewById(R.id.button11);
    b6.setOnClickListener(this);

    b7=(Button) findViewById(R.id.button7);
    b7.setOnClickListener(this);

    b8=(Button) findViewById(R.id.button8);
    b8.setOnClickListener(this);

    b9=(Button) findViewById(R.id.button5);
    b9.setOnClickListener(this);
}

public void onClick(View v)
{
    boolean press=true;
    int i=0;
    while(i<9){     
            if(press==true)
            {
                if((Button)v==b1)
                {
                    b1.setText("X");
                    press=false;
                }

                else if((Button)v==b2)
                {
                    b2.setText("X");
                    press=false;
                }

                else if((Button)v==b3)
                {
                    b3.setText("X");
                    press=false;
                }

            }

            if(press==false)
            {
                if((Button)v==b1)
                {
                    b1.setText("O");
                    press=true;
                }
                else if((Button)v==b2)
                {
                    b2.setText("O");
                    press=true;
                }
                else if((Button)v==b3)
                {
                    b3.setText("O");
                    press=true;
                }
            }
            i++;
    }
}
public类MainActivity扩展活动实现OnClickListener{
专用按钮b1、b2、b3、b4、b5、b6、b7、b8、b9;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(按钮)findViewById(R.id.button1);
b1.setOnClickListener(本);
b2=(按钮)findViewById(R.id.button2);
b2.setOnClickListener(本);
b3=(按钮)findViewById(R.id.button3);
b3.setOnClickListener(本);
b4=(按钮)findViewById(R.id.button6);
b4.setOnClickListener(本);
b5=(按钮)findViewById(R.id.button10);
b5.setOnClickListener(本);
b6=(按钮)findViewById(R.id.button11);
b6.setOnClickListener(本);
b7=(按钮)findViewById(R.id.button7);
b7.setOnClickListener(本);
b8=(按钮)findViewById(R.id.button8);
b8.setOnClickListener(本);
b9=(按钮)findViewById(R.id.button5);
b9.setOnClickListener(本);
}
公共void onClick(视图v)
{
布尔压力=真;
int i=0;

while(ionClick first)设置
boolean press=true;
因此在while循环中,它总是将您带入第一个
if循环


boolean press=true;声明为全局变量

,因为您正在
onClick()中设置
press=true
。将
press
变量设为全局变量。谢谢,这就是工作。