Android Studio 无法识别我的任何文本视图
Android Studio not recognizing any of my textviews
当我通过 ID 搜索视图时,我找到了它们。但是当我使用存储文本视图的变量时,它们无法被识别并且我经常被告知他们无处可寻。我的按钮不会给我带来麻烦。只有文本视图一直在说 "Cannot resolve symbol"
@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;
}
您的 TextView 是局部变量。
将它们分配给成员字段,以便它们在您的 onClick 重载中可见。
您已将按钮声明为 method/local 变量。因此,您无法通过其他方法访问它们。为了解决这个问题,将它们声明为全局变量
例如:
Button button1, button2, button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = ((Button) findViewById(R.id.button1));
...
}
当我通过 ID 搜索视图时,我找到了它们。但是当我使用存储文本视图的变量时,它们无法被识别并且我经常被告知他们无处可寻。我的按钮不会给我带来麻烦。只有文本视图一直在说 "Cannot resolve symbol"
@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;
}
您的 TextView 是局部变量。
将它们分配给成员字段,以便它们在您的 onClick 重载中可见。
您已将按钮声明为 method/local 变量。因此,您无法通过其他方法访问它们。为了解决这个问题,将它们声明为全局变量 例如:
Button button1, button2, button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = ((Button) findViewById(R.id.button1));
...
}