Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从hashmap获取值并显示测验应用程序。。?_Android_Textview_Radio Button_Hashmap - Fatal编程技术网

Android 如何从hashmap获取值并显示测验应用程序。。?

Android 如何从hashmap获取值并显示测验应用程序。。?,android,textview,radio-button,hashmap,Android,Textview,Radio Button,Hashmap,我在测验应用程序中遇到问题 我的问题是 我通过JSON获得了Questionid、问题和答案。我用一个键存储在hashmap中。现在我想做的是 如何根据问题ID从hashmap获取问题和答案..要在文本视图中显示问题并在单选按钮中显示答案 我如何实现这一点?如有任何帮助,我们将不胜感激…提前感谢 受保护的void onPostExecute(字符串文件\u url){ pDialog.disclose(); List params=new ArrayList(); 参数添加(新的BasicNam

我在测验应用程序中遇到问题

我的问题是

我通过JSON获得了Questionid、问题和答案。我用一个键存储在hashmap中。现在我想做的是

如何根据问题ID从hashmap获取问题和答案..要在文本视图中显示问题并在单选按钮中显示答案

我如何实现这一点?如有任何帮助,我们将不胜感激…提前感谢

受保护的void onPostExecute(字符串文件\u url){
pDialog.disclose();
List params=new ArrayList();
参数添加(新的BasicNameValuePair(“tid”,tid));
JSONObject json=jsonParser.makeHttpRequest(url_get_quesid,“get”,params);
json=jsonParser.makeHttpRequest(url_get_quesurl,“get”,params);
试一试{
int success=json.getInt(TAG_success);
如果(成功==1){
System.out.println(“成功”);
groups=json.getJSONArray(标记组);
System.out.println(“结果成功+++”+组);
对于(int i=0;i

首先,您希望使用您的questionid作为映射键

一旦你做到了这一点,你可以简单地做一些类似的事情

字符串总数=map.get(questionid); String[]split=total.split(“;”)

字符串问题=拆分[0]; 字符串应答=拆分[1]



总的来说,我还是建议使用数据库,然后将所有内容保存在集合中。

您的
map
onCreate()的本地映射。
。这意味着当
onCreate()
完成时,您的地图将被销毁,您将无法再访问它。将地图作为
活动的一个字段移动
。然后,您可以从任何地方访问它,然后执行
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());
        }       
    }
}
公共类YourActivity扩展活动{
私有HashMap问题=新建HashMap();
受保护的void onPostExecute(字符串文件\u url){
pDialog.disclose();
List params=new ArrayList();
参数添加(新的BasicNameValuePair(“tid”,tid));
JSONObject json=jsonParser.makeHttpRequest(url_get_quesid,“get”,params);
json=jsonParser.makeHttpRequest(url_get_quesurl,“get”,params);
试一试{
int success=json.getInt(TAG_success);
如果(成功==1){
System.out.println(“成功”);
groups=json.getJSONArray(标记组);
System.out.println(“结果成功+++”+组);
对于(int i=0;i

然后,您可以通过执行
questions.get(questionId)

活动的任何位置访问问题。JSON部分是否正常工作?对象是否已成功创建和存储?如果是这样,就不需要发布代码的这一部分。另外,您的
映射是
onCreate()
的本地映射,因此当
onCreate()
完成时,它将被销毁,这是您想要的吗?另外,您正在插入
TAG_QUESID
作为键,而不是
questionId
…嗯..那么map.get(questionId)呢@m0skit0 yes Json part全部成功..而TAG_QUESID是我的关键..现在我如何实现显示问题和答案…@stefan de bruijn我在地图中获得了问题ID、问题和答案选项。放置(..)本身..frnd..我不知道你想要实现什么。为什么不直接使用qustionid作为地图的键。好的,那么我如何才能将问题输入到文本视图中,并在RadioButton中获得答案是的,我完成了。现在我可以实现要显示的问题和答案了吗
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());
        }       
    }
}