如何从arraylist中检索答案
问题描述:
我是Android新手。如何从arraylist中检索答案
我面临着阵列list.The问题的一个问题是..
我的数组是字符串数组列表。我需要的是什么?我有两个数组列表。 QtnsArraylist1包含4个元素(4个问题),AnsArraylist2包含16个元素(16个答案,每个问题4个选项共16个元素)。对于我在QtnsArraylist1中的第一个问题,我必须得到前4个元素从AnsArraylist2。同样,如果我给下一个按钮它显示问题2,3,4 ...。我怎么能得到这个? 。
请帮我一下..
在此先感谢。
protected void onPostExecute(String file_url) {
pDialog.dismiss();
ques1=new ArrayList<String>(new HashSet<String>(ques1));
System.out.println(" Question array:"+ques1);
String[] quesArr = new String [ques1.size()];
quesArr = ques1.toArray(quesArr);
for(String s: quesArr){
System.out.println("All Array Questions:"+s);
final TextView txtque = (TextView) findViewById(R.id.que_txt);
final String text=ques1.get(j).toString();
System.out.println("Array:"+text);
txtque.setText(text);
}
answ1=new ArrayList<String>(new ArrayList<String>(answ1));
System.out.println(" Answer array:"+answ1);
String[] answArr = new String [answ1.size()];
answArr = answ1.toArray(answArr);
for(String A: answArr){
// final Object getName0 = answArr[0].toString();
// final Object getName1 = answArr[1].toString();
// final Object getName2 = answArr[2].toString();
// final Object getName3 = answArr[3].toString();
Collections.sort(answ1, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
System.out.println("All Array Answers:"+A);
}
btn_practicerg =(RadioGroup) findViewById(R.id.rdgroup);
btn_practice1 = (RadioButton) findViewById(R.id.RB1);
btn_practice1.setText(String.valueOf(answArr[0]));
btn_practice2 = (RadioButton) findViewById(R.id.RB2);
btn_practice2.setText(String.valueOf(answArr[1]));
btn_practice3 = (RadioButton) findViewById(R.id.RB3);
btn_practice3.setText(String.valueOf(answArr[2]));
btn_practice4 = (RadioButton) findViewById(R.id.RB4);
btn_practice4.setText(String.valueOf(answArr[3]));
Button nextBtn = (Button) findViewById(R.id.nxt_btn);
nextBtn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
j++;
TextView txtque = (TextView) findViewById(R.id.que_txt);
txtque.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;
}
这个功能应该返回你想要什么assumig您名单根据添加的答案中的块4问题
编辑
这是一个onClick监听器应该大致做你想要什么:
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());
为所有的按钮做到这一点,它应该是好。我还没有使用单选按钮,因为我无法想象的语法,他们使用了我的头
顶端的听众,我应该在我的代码添加这些值编码.. –
我无法理解你的代码...它不应该回到它应该在radiotext视图 –
dispaly此功能可以去任何地方,这是static修饰符的地步,它只会返回一个ArrayList您需要的答案。我没有添加代码来更新UI。如果仍然困惑让我知道 –