带按钮按钮参数的方法

时间:2015-02-18 03:53:07

标签: java android android-studio

根据其他人的建议,请勿尝试在任何Android小部件上执行toString(),因为它无法为您提供该视图的文字。

Android小部件通常会改为getText

如果要创建自定义视图,请避免使用toString来获取文字,因为它不会遵循Android惯例。

5 个答案:

答案 0 :(得分:0)

使用button.getText().toString()代替button.toString()从点击的按钮获取文字。

 if (answer == Integer.valueOf(button.getText().toString())) {
        //.....code here..
 } else {
        //.....code here..
 }

因为当我们致电View.toString()时会返回:

一个字符串,其中包含此对象的简洁,可读的描述

答案 1 :(得分:0)

创建视图单击“侦听器”而不是方法checkAnswer(),如:

View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (answer == Integer.valueOf(but2.getText().toString())) {
                title.setText("Correct");
            } else {
                title.setText("GAME OVER");
            }
        }
}

然后为按钮设置onClickListener:

but1.setOnClickListener(listener);
but2.setOnClickListener(listener);

答案 2 :(得分:0)

如果将checkAnswer方法更改为:

,可能会更好
private void checkAnswer(int value) {
if (answer == value) {
    title.setText("Correct");
} else {
    title.setText("GAME OVER");
}
}

这种方式将更加可重用。然后你可以这样称呼它:

checkAnswer(Integer.valueOf(but1.getText().toString()))

答案 3 :(得分:0)

这是正确的方法:

on onCreate:

btn1.setOnCLickListener(this);

btn2.setOnCLickListener(this);
onClick中的

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.btn1) {
            //do stuff related to button 1;
            } 
        else if (v.getId() == R.id.btn2) {
            //do stuff related to button 2;
            }
    }

实现类中的OnClickListener

答案 4 :(得分:0)

For checking between string and parsing string into integer you have to do like this...


  if (answer == Integer.parseInt("String here") {
                    title.setText("Correct");
                } else {
                    title.setText("GAME OVER");
                }