具有按钮按钮参数的方法



按照其他人的建议,不要在任何Android小部件上尝试toString(),因为它不会给你视图的文本。

Android小部件通常具有getText

在创建自定义视图的情况下,避免使用toString获取文本,因为它不会遵循Android实践。

使用button.getText().toString()而不是button.toString()从单击的按钮获取文本。

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

因为当我们调用View.toString()时返回:

一个字符串,包含此对象的简明、可读的描述

创建View Click Listener,而不是方法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");
            }
        }
}

然后为按钮设置ClickListener:

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

如果将checkAnswer方法更改为:可能会更好

private void checkAnswer(int value) {
if (answer == value) {
    title.setText("Correct");
} else {
    title.setText("GAME OVER");
}
}

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

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

这是正确的方法:

在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;
            }
    }

类中的implemt OnClickListener

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");
                }

最新更新