【发布时间】:2016-07-10 03:06:24
【问题描述】:
我有一个测验活动,它使用按钮(下一个/上一个)从 mysql 检索数据。当应用程序启动时,它会查看第一行。我希望 NEXT 按钮查看我数据库中的第二行。
这是我的json
{"result":[{"id":"1","question":"Numbers","answer":"1","dummy1":"2","dummy2":"3","dummy3":"4","quiz_id":"1"},{"id":"2","question":"Letters","answer":"a","dummy1":"b","dummy2":"c","dummy3":"d","quiz_id":"1"}]}
在我的 OnCreate 中,我启动了数据的获取。它适用于第一行数据。
private void getQuestion(){
class GetJSON extends AsyncTask<Void,Void,String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(QuizActivity.this,"Fetching Data","Wait...",false,false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
JSON_STRING = s;
showQuestion();
}
@Override
protected String doInBackground(Void... params) {
RequestHandler rh = new RequestHandler();
String waws = "1";
String s = rh.sendGetRequest(AppConfig.URL_GET_QUIZWITHSTUDENTCLASSBYSCHOOLID+waws);
return s;
}
}
GetJSON gj = new GetJSON();
gj.execute();
}
private void showQuestion(){
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(JSON_STRING);
JSONArray result = jsonObject.getJSONArray(AppConfig.TAG_JSON_ARRAY);
JSONObject jo = result.getJSONObject(0);
String question = jo.getString("question");
answer = jo.getString("answer");
String dummy1 = jo.getString("dummy1");
String dummy2 = jo.getString("dummy2");
String dummy3 = jo.getString("dummy3");
quizQuestion.setText(question);
ArrayList<String> tmp = new ArrayList<>();
tmp.add(answer);
tmp.add(dummy1);
tmp.add(dummy2);
tmp.add(dummy3);
Collections.shuffle(tmp);
optionOne.setText(tmp.get(0));
optionTwo.setText(tmp.get(1));
optionThree.setText(tmp.get(2));
optionFour.setText(tmp.get(3));
} catch (JSONException e) {
e.printStackTrace();
}
}
我将下一个按钮设为
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String rawAnswer = null;
if (optionOne.isChecked()) {
rawAnswer = optionOne.getText().toString().trim();
} else if (optionTwo.isChecked()) {
rawAnswer = optionTwo.getText().toString().trim();
} else if (optionThree.isChecked()) {
rawAnswer = optionThree.getText().toString().trim();
} else if (optionFour.isChecked()) {
rawAnswer = optionFour.getText().toString().trim();
}
if (rawAnswer.equals(answer)) {
Toast.makeText(QuizActivity.this, "Correct! ", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(QuizActivity.this, "Wrong!", Toast.LENGTH_LONG).show();
}
}
});
确定答案是正确的还是不正确的工作正常。
我想知道当点击 NEXT 按钮时如何获取 mysql 数据库中的下一行数据。以及在 PREVIOUS 按钮中。谢谢
【问题讨论】: