简体   繁体   English

Android Studio无法识别我的任何textviews

[英]Android Studio not recognizing any of my textviews

When I search for the views by their id's, i find them. 当我通过其ID搜索视图时,便找到了它们。 But when I use the variables that store the textviews, they can't be recognized and i'm constantly told that they are no where to be found. 但是,当我使用存储textviews的变量时,它们无法被识别,而且我经常被告知它们在哪里都找不到。 My button don't give me probles. 我的按钮不会给我问题。 Only the textviews keeps saying "Cannot resolve symbol" 只有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;
            }

Your TextViews are local variables. 您的TextViews是局部变量。
Assign them to member fields so that they are visible in your onClick overload. 将它们分配给成员字段,以便它们在onClick重载中可见。

You have declared your buttons as method/local variables. 您已将按钮声明为方法/局部变量。 Therefore you can't access them from another method. 因此,您不能从其他方法访问它们。 In order to solve this declare them as global variables Eg: 为了解决这个问题,将它们声明为全局变量Eg:

Button button1, button2, button3;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button1 = ((Button) findViewById(R.id.button1));
    ...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM