我有这部分代码:
final String[] qst = getResources().getStringArray(R.array.q1);
qt.setText(qst[0]);
respA.setText(qst[1]);
respB.setText(qst[2]);
respC.setText(qst[3]);
respD.setText(qst[4]);
它运行没有问题。我想在strings.xml中获取一个带有多个选择问题的数组。问题是我想要一个随机的问题,在屏幕上呈现。 我认为最好的解决方案是随机化一个int并选择一个问题作为整个函数(因为我是一个菜鸟大声笑)。但是当我尝试代码时
final int iqst = 1;
if (iqst == 1) {
final String[] qst = getResources().getStringArray(R.array.q1);
}
qt.setText(qst[0]);
respA.setText(qst[1]);
respB.setText(qst[2]);
respC.setText(qst[3]);
respD.setText(qst[4]);
android studio给出错误: 错误:(113,20)错误:找不到符号变量qst。
我已经在互联网上搜索但我不知道为什么我不能在if
中声明一个数组答案 0 :(得分:0)
你在内部声明qst。它在if块
之外无效答案 1 :(得分:0)
变量qst在if块的范围内。如果阻止你声明它的方式,它只能在其中访问。我这样做的一种方法是在外面宣布它,比如说
final int iqst = 1;
String[] qst = null;
if (iqst == 1) {
qst = getResources().getStringArray(R.array.q1);
}
qt.setText(qst[0]);
respA.setText(qst[1]);
respB.setText(qst[2]);
respC.setText(qst[3]);
respD.setText(qst[4]);