Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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 如何从arraylist中检索答案_Android_Arraylist_Radio Button_Hashmap - Fatal编程技术网

Android 如何从arraylist中检索答案

Android 如何从arraylist中检索答案,android,arraylist,radio-button,hashmap,Android,Arraylist,Radio Button,Hashmap,我是Android新手 我面临数组列表问题。问题是 我的数组是字符串数组列表。我需要的是什么?我有两个数组列表。QTNSArrayList 1包含4。。元素(4..questions)和AnsarArrayList 2包含16。。元素(16..答案,每个问题4个选项总共16..个元素)。对于我在QtnsArraylist1中的第一个问题,我必须从AnsarArrayList2中获取前4个元素。同样,如果我给出下一步按钮,它将显示问题2、3、4。我怎么能得到这个 请帮我找个人 提前谢谢 : 受保护

我是Android新手

我面临数组列表问题。问题是

我的数组是字符串数组列表。我需要的是什么?我有两个数组列表。QTNSArrayList 1包含4。。元素(4..questions)和AnsarArrayList 2包含16。。元素(16..答案,每个问题4个选项总共16..个元素)。对于我在QtnsArraylist1中的第一个问题,我必须从AnsarArrayList2中获取前4个元素。同样,如果我给出下一步按钮,它将显示问题2、3、4。我怎么能得到这个

请帮我找个人

提前谢谢

:

受保护的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());

那么你为什么不试试下面的方法呢:

public static List<String> getAnswers(int questionNumber)
{
    int i = questionNumber;
    List answers = new ArrayList<String>();
    String question = ques1[i];

    for (i; i< i+ 4; i++)
    {
        answers.add(AnsArraylist2[i];
    }
    return answers;
}

对你所有的按钮都这样做应该没问题。我没有使用单选按钮,因为我想不出他们在我头顶上使用的侦听器的语法

我无法理解你的代码…它不应该返回它应该在radiotext视图中显示此函数可以在任何地方使用,这是静态修饰符中的点,它只会返回你需要的答案的数组列表。我没有添加更新UI的代码。如果仍然困惑,请告诉我是的,我的第一个对我来说很困惑…我的代码是否正确或错误我应该做什么更改。。
public static List<String> getAnswers(int questionNumber)
{
    int i = questionNumber;
    List answers = new ArrayList<String>();
    String question = ques1[i];

    for (i; i< i+ 4; i++)
    {
        answers.add(AnsArraylist2[i];
    }
    return answers;
}
class sortClickListener implements onClickListener
{
    @Override
    public void onClick(View v) 
    {
        List<String> answers = getAnswers(v.getTag());

        //I'm assuming you're going to display these answers in textViews
        //Also assuming you've put these text views into a list
        for (int i = 0; i < 4; i ++)
        {
            textViewList[i].setText(answers.get[i]);
        }
    }
}
btn_practice1.setTag(the_number_in_the_array_you_need);
btn_practice1.setOnClickListener(new sortOnClickListner());