有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java LinkedList和RadioButton

通过单选按钮,我有一个用户所有选定答案的链接列表。 我希望在重新访问时,通过在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操作,但没有成功,即使它打印了正确的选择编号! 这是我的链接列表

  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)


共 (1) 个答案

  1. # 1 楼答案

    您不应该使用else if,因为只有一个if/else if块被执行。只有在以下情况下才可以使用