我通过单选按钮获得了用户所有选定答案的LinkedList。 我希望通过在LinkedList中获取先前设置的答案来重新访问时将它们设置为已选中。 如何实现这一目标?
selected=(String) dtmarked.get(dtqno.indexOf(queno)-1);
System.out.println("SELECTED: "+selected);
if(selected.equals("choice1"))
choice1.setSelected(true);
else if(selected.equals("choice2"))
choice2.setSelected(true);
else if(selected.equals("choice3"))
choice3.setSelected(true);
else if(selected.equals("choice4"))
choice4.setSelected(true);
我尝试按照上面的snipet但是没有成功,即使它打印正确的选择号码! 这里dtmarked是我的链表。
public void choice()
{
if(choice1.isSelected())
{
if(dtmarked.size()!=cnt)
dtmarked.add("choice1");
else
{
dtmarked.remove(dtqno.indexOf(queno));
dtmarked.add(dtqno.indexOf(queno),"choice1");
}
}
else if(choice2.isSelected())
{
if(dtmarked.size()!=cnt)
dtmarked.add("choice2");
else
{
dtmarked.remove(dtqno.indexOf(queno));
dtmarked.add(dtqno.indexOf(queno),"choice2");
}
}
else if(choice3.isSelected())
{
if(dtmarked.size()!=cnt)
dtmarked.add("choice3");
else
{
dtmarked.remove(dtqno.indexOf(queno));
dtmarked.add(dtqno.indexOf(queno),"choice3");
}
}
else if(choice4.isSelected())
{
if(dtmarked.size()!=cnt)
dtmarked.add("choice4");
else
{
dtmarked.remove(dtqno.indexOf(queno));
dtmarked.add(dtqno.indexOf(queno),"choice4");
}
}
else
{
if(dtmarked.size()!=cnt)
dtmarked.add("0");
else
{
dtmarked.remove(dtqno.indexOf(queno));
dtmarked.add(dtqno.indexOf(queno),"0");
}
}
System.out.println(dtqno);
System.out.println(dtmarked);
}
这是我在链表中添加选项所做的工作。 此处cnt是一个变量,返回表中的条目数(在本例中为5)。
答案 0 :(得分:0)
你不应该使用else,因为那时只有一个if / else if块被执行。你应该只使用if。