Я играю в математику и у меня возникают проблемы с отображением правильного / неправильного ответа методом нажатия кнопок.По сути, я сделал оператор if / else внутри моего метода уравнений, и внутри него операторы должны делать что-то вроде: если пользовательский ввод соответствует правильному ответу, измените текст textviews на «правильный», иначе «неправильный».Предполагается, что это происходит, когда пользователь нажимает кнопку.
Вот мой код, который по какой-то причине ничего не делает:
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.d(TAG, "onCreate");
setContentView(R.layout.gamelayout);
int diff = getIntent().getIntExtra(KEY_DIFFICULTY, DIFFICULTY_EASY);
edittext = (EditText) findViewById(R.id.USERentry);
questionLabel = (TextView) findViewById(R.id.question_label);
answerLabel = (TextView) findViewById(R.id.rightwrong_label);
button1 = (Button) findViewById(R.id.keypad_1);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// Perform action on clicks
//String buttonText = (String) button.getText();
edittext.setText(edittext.getText() + "1");
//edittext.setText() = edittext.getText() + "1";
}
});
button2 = (Button) findViewById(R.id.keypad_2);
button2.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
edittext.setText(edittext.getText() + "2");
}
});
...some more buttons...
buttonhash = (Button) findViewById(R.id.keypad_hash);
buttonhash.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
answerLabel.getText();
answerLabel.setBackgroundColor(R.color.background_answer);
}
});
getGame(diff);
}
public void Easy12(){
Random rand = new Random();
final int a = (int) rand.nextInt(20)+1;
final int b = (int) rand.nextInt(20)+1;
String aString = Integer.toString(a);
String bString = Integer.toString(b);
String display = aString + " + " + bString + " =";
questionLabel.setText(display);
final int c = a + b;
if(edittext.getText().toString().equals(String.valueOf(c))){
answerLabel.setText(R.string.answer_correct);
answerLabel.setTextColor(R.color.correct_color);
}
else
{
answerLabel.setText(R.string.answer_wrong);
answerLabel.setTextColor(R.color.wrong_color);
//answerLabel.setBackgroundColor(R.color.background_answer);
}
}
Неважно, у меня все получилось.
В основном мне пришлось в onCreate () установить onClickListener, сказав buttonhash.setOnClickListener (this);
Также мне пришлось реализовать OnClickListener для класса Game.
И, наконец, это привестичтобы иметь метод onClick (View v), где я мог бы кодировать, что делает каждая кнопка.:) Счастливого дня.