0

クイズアプリで困っている...

私の問題は..

JSON を介して Questionid、質問と回答を取得しました。そして、単一のキーでハッシュマップに保存しました。今やりたいことは...

questionidに基づいてハッシュマップから質問と回答を取得するにはどうすればよいですか..質問をテキストビューに表示し、ラジオボタンに回答を表示するには...

どうすればこれを実装できますか? 助けていただければ幸いです...よろしくお願いします..

  protected void onPostExecute(String file_url) {
   pDialog.dismiss();   
       List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("tid", tid));
    JSONObject json = jsonParser.makeHttpRequest(url_get_quesid, "GET", params);
    json = jsonParser.makeHttpRequest(url_get_quesurl, "GET", params);
      try {
    int success = json.getInt(TAG_SUCCESS);
    if (success == 1) {
    System.out.println("Success");
    groups = json.getJSONArray(TAG_GROUP);
    System.out.println("Result Success+++"+groups);
    for (int i = 0; i < groups.length();i++) {
    JSONObject c = groups.getJSONObject(i);
    String questionid = c.getString(TAG_QUESID);
    String question = c.getString(TAG_QUES);
    String answer = c.getString(TAG_ANSW);
    System.out.println("Checking ::"+questionid);
    id=questionid;         
    quesid.add(questionid);
    HashMap<String, String> map = new HashMap<String, String>();
    map.put(questionid,  question + ";" + answer);                  
    System.out.println("QuestionIDMap:"+map);
        }
    } else {
    showAlert();
}
    } catch (JSONException e) {
    System.out.println("Error "+e.toString());
    }       
}
4

2 に答える 2

1

まず、質問 ID をマップ キーとして使用します。

それができたら、次のようなことを簡単に行うことができます。

文字列合計 = map.get(questionid); String[] split = total.split(";");

文字列の質問 = 分割 [0]; 文字列の回答 = 分割 [1];


全体として、データベースを使用してから、すべてをコレクションに保存することをお勧めします。

于 2013-01-30T13:55:52.433 に答える
0

あなたmapは にローカルonCreate()です。これは、onCreate()終了するとマップが破棄され、アクセスできなくなることを意味します。マップを のフィールドとして移動しますActivity。次に、どこからでもアクセスしてmap.get(questionId)、質問を取得することができます。

アクティビティは次のようになります。

public class YourActivity extends Activity {
    private HashMap<String, String> questions = new HashMap<String, String>();



    protected void onPostExecute(String file_url) {
       pDialog.dismiss();   
           List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("tid", tid));
        JSONObject json = jsonParser.makeHttpRequest(url_get_quesid, "GET", params);
        json = jsonParser.makeHttpRequest(url_get_quesurl, "GET", params);
        try {
            int success = json.getInt(TAG_SUCCESS);
            if (success == 1) {
                System.out.println("Success");
                groups = json.getJSONArray(TAG_GROUP);
                System.out.println("Result Success+++"+groups);
                for (int i = 0; i < groups.length();i++) {
                    JSONObject c = groups.getJSONObject(i);
                    String questionid = c.getString(TAG_QUESID);
                    String question = c.getString(TAG_QUES);
                    String answer = c.getString(TAG_ANSW);
                    System.out.println("Checking ::"+questionid);
                    id=questionid;         
                    quesid.add(questionid);         
                    questions.put(questionid,  question + ";" + answer);                  
                    System.out.println("QuestionIDMap:"+map);
                }
            } else {
                showAlert();
            }
        } catch (JSONException e) {
            System.out.println("Error "+e.toString());
        }       
    }
}

Activity次に、 を実行することで、どこからでも質問にアクセスできますquestions.get(questionId)

于 2013-01-30T13:59:08.873 に答える