Android 如何获取hashmap值?

Android 如何获取hashmap值?,android,arraylist,hashmap,Android,Arraylist,Hashmap,我是安卓新手 我有三个ArrayList hashmap..一个用于问题,第二个用于问题id,第三个用于答案 我在JSON对象中获得了问题和问题id以及答案。。现在我想展示问题和答案…我需要的是, 我有三个ArrayList。QtnsArraylist1(ques1)包含100个元素(100个问题),QuestidArraylist包含100个id,AnsarArrayList2(answ1)包含400个元素(400个答案,每个问题4个选项总共400个元素)。我想从hashmap获取这些值 对于

我是安卓新手

我有三个ArrayList hashmap..一个用于问题,第二个用于问题id,第三个用于答案

我在JSON对象中获得了问题和问题id以及答案。。现在我想展示问题和答案…我需要的是, 我有三个ArrayList。QtnsArraylist1(ques1)包含100个元素(100个问题),QuestidArraylist包含100个id,AnsarArrayList2(answ1)包含400个元素(400个答案,每个问题4个选项总共400个元素)。我想从hashmap获取这些值

对于QtnsArraylist1(ques1)中的第一个问题,我必须根据hashmap键questionid从AnsarArrayList2(answ1)中获取前4个元素。类似地,如果我给出next按钮,它将显示问题2、3、4。这些都应该在onPostExecute()中完成。我如何才能得到这些

提前谢谢

受保护的void onPostExecute(字符串文件\u url){
pDialog.disclose();
ques1=新的ArrayList(新的HashSet(ques1));
System.out.println(“问题数组:“+ques1”);
字符串[]quesArr=新字符串[ques1.size()];
quesArr=ques1.toArray(quesArr);
用于(字符串s:quesArr){
System.out.println(“所有数组问题:+s”);
最终文本视图txtque=(文本视图)findViewById(R.id.que_txt);
最终字符串text=ques1.get(j.toString();
System.out.println(“数组:+文本);
txtque.setText(文本);
}            
answ1=新阵列列表(新阵列列表(answ1));
System.out.println(“应答数组:+answ1”);
字符串[]answArr=新字符串[answ1.size()];
Answar=answ1.toArray(Answar);
for(字符串A:Answar){
//最终对象getName0=answArr[0]。toString();
//最终对象getName1=answArr[1]。toString();
//最终对象getName2=answArr[2]。toString();
//最终对象getName3=answArr[3]。toString();
Collections.sort(answ1,新的Comparator(){
@凌驾
公共整数比较(字符串s1、字符串s2){
返回s1.compareToIgnoreCase(s2);
}
});
System.out.println(“所有数组应答:+A”);
}                 
btn_practicerg=(放射组)findViewById(R.id.rdgroup);
btn_practice1=(单选按钮)findViewById(R.id.RB1);
btn_practice1.setText(String.valueOf(answArr[0]));
btn_practice2=(单选按钮)findViewById(R.id.RB2);
btn_practice2.setText(String.valueOf(answArr[1]));
btn_practice3=(单选按钮)findViewById(R.id.RB3);
btn_practice3.setText(String.valueOf(answArr[2]));
btn_practice4=(单选按钮)findViewById(R.id.RB4);
btn_practice4.setText(String.valueOf(answArr[3]));
按钮nextBtn=(按钮)findviewbyd(R.id.nxt\u btn);
nextBtn.setOnClickListener(新建按钮.OnClickListener(){
公共void onClick(视图v){
j++;
TextView txtque=(TextView)findViewById(R.id.que_txt);
setText(ques1.get(j.toString());
k++;
btn_practice1.setText(answ1.get(k.toString());
k++;
btn_practice2.setText(answ1.get(k.toString());
k++;
btn_practice3.setText(answ1.get(k.toString());
k++;
btn_practice4.setText(answ1.get(k.toString());

您可以将答案作为HashMap放在Arraylist中。这将使所有Arraylist大小相同

比如说,

HashMap<String, String> hm = new HashMap<String, String>();
hm.put("1", "abc");
hm.put("2", "def");
hm.put("3", "ghi");
hm.put("4", "jkl");

ArrayList<HashMap<String, String>> lstAns = new ArrayList<HashMap<String,String>>();
lstAns.add(hm);

请发布一些代码-我想不出你有什么-
HashMap
ArrayList
。我在你的代码中看不到
HashMap
,只有
HashSet
。是的,我想使用HashMap并获取如何使用和获取它的值。通过我的ArrayList请帮助我。对不起,这太混乱了。请描述想要实现的任务:您想显示多少个问题和答案,哪一个,数据来自哪里,您有什么数据结构(quest1和answ1的声明和初始化)@GaborSch在这里查看我的完整代码请帮助我提前感谢我想根据我使用json的问题id获取答案…如何为此实现hashmap…不是静态的..在这里查看我的完整代码也发布一些json字符串示例。
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("1", "abc");
hm.put("2", "def");
hm.put("3", "ghi");
hm.put("4", "jkl");

ArrayList<HashMap<String, String>> lstAns = new ArrayList<HashMap<String,String>>();
lstAns.add(hm);
System.out.println("answer1 " + lstAns.get(index).get("1")); // gives "abc"