修复我当前的项目android - 按钮点击

时间:2014-06-18 11:41:23

标签: android

    public void onClick(View v) {  
    int id = v.getId();
         if (id == R.id.button2) {
            counter++;
            changingTextView.setText(""+counter);
            YouLost.setText("");
            final Random rand = new Random();
            int diceRoll = rand.nextInt(6) + 1;
            if (diceRoll == 1) {
                action1();

        }
            else if (diceRoll == 2) {
                action2();
            }
            else if (diceRoll == 3) {
                action3();
            }
            else if (diceRoll == 4) {
                action4();
            }
            else if (diceRoll == 5) {
                action5();
            }
            else if (diceRoll == 6) {
                action6();
            }
            }
        else if (id == R.id.button4 || id == R.id.button6 || id == R.id.button3 || id == R.id.button5 || id == R.id.button1) {
            YouLost.setText("You lost"); 
            counter=0;
            changingTextView.setText(""+counter);  
        }
}
    private void action6() {
    // TODO Auto-generated method stub
    button2.setX(button2.getX());
    button2.setY(button2.getY());  
}

private void action5() {
    // TODO Auto-generated method stub
    button2.setX(button1.getX());
    button2.setY(button1.getY());  

    button1.setX(button2.getX());
    button1.setY(button2.getY());
}

private void action4() {
    // TODO Auto-generated method stub      
    button2.setX(button3.getX());
    button2.setY(button3.getY());  

    button3.setX(button2.getX());
    button3.setY(button2.getY());
}

private void action3() {
    // TODO Auto-generated method stub
    button2.setX(button4.getX());
    button2.setY(button4.getY());  

    button4.setX(button2.getX());
    button4.setY(button2.getY());
}

private void action2() {
    // TODO Auto-generated method stub
    button2.setX(button5.getX());
    button2.setY(button5.getY());  

    button5.setX(button2.getX());
    button5.setY(button2.getY());
}

private void action1() {
    // TODO Auto-generated method stub
    button2.setX(button6.getX());
    button2.setY(button6.getY());

    button6.setX(button2.getX());
    button6.setY(button2.getY());  
} 
} 

你好:)这是我当前的长脚本,我想我的应用程序将识别你按下什么按钮,如果它的按钮2然后用其他按钮位置(随机)更改button2位置,我做了但有时两个按钮是设置为相同的X,Y,有时按钮是消失的,有人可以将它修复给我吗?非常感谢你:)

1 个答案:

答案 0 :(得分:0)

您的代码存在问题:

   button2.setX(button1.getX());
    button2.setY(button1.getY());  

    button1.setX(button2.getX());
    button1.setY(button2.getY());

在上面的行中,你将button1的x,y设置为button2,现在两者都有相同的x,y。因此,接下来的两行不会改变任何东西。

如果您想要交换这两个按钮的位置,请尝试:

   float x=button2.getX();
   float y= button2.getY();
   button2.setX(button1.getX());
    button2.setY(button1.getY());  

    button1.setX(x);
    button1.setY(y);

在所有动作功能中执行以上操作。