Не могу установить текст TextViews при нажатии кнопки - PullRequest
0 голосов
/ 07 марта 2012

Я играю в математику и у меня возникают проблемы с отображением правильного / неправильного ответа методом нажатия кнопок.По сути, я сделал оператор 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), где я мог бы кодировать, что делает каждая кнопка.:) Счастливого дня.

...