Когда я ищу просмотры по их идентификаторам, я нахожу их. Но когда я использую переменные, в которых хранятся текстовые представления, их нельзя распознать, и мне постоянно говорят, что их негде найти. Моя кнопка не вызывает проблем. Только textviews продолжает говорить «Не удается разрешить символ»

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button button1, button2, button3;
    button1 = ((Button) findViewById(R.id.button1));
    button2 = ((Button) findViewById(R.id.button2));
    button3 = ((Button) findViewById(R.id.button3));
    button1.setOnClickListener(this);
    button2.setOnClickListener(this);
    button3.setOnClickListener(this);
    TextView textview1, textview2, textview3, questionView, questionView2, questionNumber;

    textview1 = ((TextView) findViewById(R.id.textView1));
    textview2 = ((TextView) findViewById(R.id.textView2));
    textview3 = ((TextView) findViewById(R.id.textView3));
    questionView = ((TextView) findViewById(R.id.questionView));
    questionView2 = ((TextView) findViewById(R.id.questionView2));
    questionNumber = (TextView) findViewById(R.id.questionNumber);
}

   @Override

        public void onClick( View v) {
            switch (v.getId()) {
                case R.id.button1:



                    if(questionIndex < questions.length -1
                            )

                        if (questionIndex != 5){
                            textview2.setText("");
                        } if (questionIndex == 5){
                    textview2.setText(halfQues8);
                }

                    // make sure the index is in bounds

                    questionIndex++ ; // increment the index


                    questionValue ++;



                    questionView.setText(Questions[questionIndex]); // set the text to the next question

    /*
     * set the text to the next answer options
     */
                    textview1.setText(answerButtA[questionIndex]);
                    textview2.setText(answerButtB[questionIndex]);
                    textview3.setText(answerButtC[questionIndex]);
                    questionNumber.setText("Question " + questionValueS + ".");

            }

            else{

                questionView.setText("Complete");
                questionNumber.setText("");
                questionView2.setText("");

                textview1.setText("");
                textview2.setText("");
                textview3.setText("");
                Results.setText("Click here for results");
            }






            break;
                case R.id.button2:
                    //DO something
                    break;
                case R.id.button3:
                    //DO something
                    break;
            }
0
Micah Kam 23 Фев 2015 в 02:14

2 ответа

Лучший ответ

Вы объявили свои кнопки как метод / локальные переменные. Следовательно, вы не можете получить к ним доступ другим способом. Чтобы решить эту проблему, объявите их как глобальные переменные, например:

Button button1, button2, button3;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button1 = ((Button) findViewById(R.id.button1));
    ...
}
1
ChaturaM 23 Фев 2015 в 01:42

Ваши TextView - это локальные переменные.
Назначьте их полям участников, чтобы они были видны в вашей перегрузке onClick.

1
swooby 22 Фев 2015 в 23:42