簡體   English   中英

LinkedList 和 RadioButton

[英]LinkedList and RadioButton

我通過單選按鈕有一個用戶所有選定答案的 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);

我嘗試按照上面的片段進行操作,但即使它打印了正確的選擇編號,也沒有成功。 這里 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)。

您不應該使用 else if,因為這樣只會執行 if/else if 塊之一。 你應該只使用如果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM