按下按钮时,应用程序停止

时间:2014-10-23 15:00:17

标签: android

你好,你们帮助我们请告诉你我是Android和Java的新手。 我已经写了一个OnClickHandler并且它编译并启动但是如果我按下一个按钮就会停止。

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

    int[] buttons = {R.id.button1, R.id.button2, R.id.button3, R.id.button4, R.id.button5,  R.id.button6, R.id.button7, R.id.button8, R.id.button9};

    for (int i = 0; i < buttons.length; i++) {
        Button buttonNum = (Button) this.findViewById(buttons[i]);
        buttonNum.setOnClickListener(new onCklickHandler());
    }
}

class onCklickHandler implements View.OnClickListener {
    public void onClick(View v) {
        if ("On" == button.getText()){
            button.setText("Off"); 
        }
        else {
            button.setText("On");
        }
        v.playSoundEffect(SoundEffectConstants.CLICK);
    }
}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

我的失败是调用Button.setText没有ID,所以我必须首先找到正确的Id

        Button button = (Button) v.findViewById(v.getId());

多数民众赞成......

非常感谢您发布的许多帖子和答案。 Handler现在是:

 class onClickHandler implements View.OnClickListener {
    public void onClick(View v) {
        Button button = (Button) v.findViewById(v.getId());
        if ("On" == button.getText()){
            button.setText("Off");
        }
        else {
            button.setText("On");
        }
        v.playSoundEffect(SoundEffectConstants.CLICK);
    }
}

答案 1 :(得分:-1)

我认为按钮变量未定义