我正在使用Android制作测试应用。我有一个json文件,我想把它读成活动类。这是json文件。写了代码,但代码没有识别"问题"变量我描述了上升。
$@

这是我的QuizActivityAdjectives.java文件的onCreate部分。
DestinationFiles

我怎样摆脱那件事?这样的代码是否有意义?它会起作用吗?
错误:"问题无法解析为变量" (我在底部写的评论专栏)
编辑:已解决我无法预料但是在纠正了json文件之后(应该是一个逗号,我没有注意到,我是必须更改已经描述为int的id值,并在json文件中使用char(如a200)给出。之后问题就消失了,json被取出了。
答案 0 :(得分:3)
您创建一个新的JSONObject,而不是解析您的文件:
JSONObject jsonObjMain = new JSONObject();
应该是:
JSONObject jsonObjMain = new JSONObject(sb.toString());
修改强>
现在我明白了你的问题。
您已超出范围且变量question
不再存在。 此外 多个问题,您希望如何将其设置为TextView
?
您可以将问题保存到数组中,并使用以下任何一个:
List<String> questions = new ArrayList<>();
try {
...
for (int i = 0; i < jsonArray.length(); i++) {
...
questions.add(jsonObj.getString("question"));
...
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String myjsonstring = sb.toString();
// Check if questions have been fetched
if (questions.size() > 0) {
txt_questionAdjective = (TextView) findViewById(R.id.txt_questionAdjective);
// Use the first question
txt_questionAdjective.setText(questions.get(0));
}