【问题标题】:How to get the values of multiple checkboxes and send values to server in android如何获取多个复选框的值并将值发送到android中的服务器
【发布时间】:2016-10-18 06:44:02
【问题描述】:

我正在 Android Studio 中开发一个程序。我正在尝试从多个复选框 (35) 中获取值并将它们放入 JSON,以便我可以将其发送到服务器。 这是SetMethod 来获取复选框的选定值:

private void setExtensionForwardNumber(){

    priorityResponse.priorityOne.getTimeTable().mon = verifyCheckbox(priorityOneMon);
    priorityResponse.priorityOne.getTimeTable().tue = verifyCheckbox(priorityOneTue);
    priorityResponse.priorityOne.getTimeTable().wed = verifyCheckbox(priorityOneWed);
    priorityResponse.priorityOne.getTimeTable().thu = verifyCheckbox(priorityOneThur);
    priorityResponse.priorityOne.getTimeTable().fri = verifyCheckbox(priorityOneFri);
    priorityResponse.priorityOne.getTimeTable().sat = verifyCheckbox(priorityOneFri);
    priorityResponse.priorityOne.getTimeTable().sun = verifyCheckbox(priorityOneSun);
    String s = priorityResponse.toJsonObject();
    setForwardExternalFragment(s);

}

这里是验证复选框是否被选中的函数:

private boolean verifyCheckbox(CheckBox checkbox) {
    boolean selected = checkbox.isChecked();
    if(selected)
        checkbox.setChecked(true);
    else
        checkbox.setChecked(false);
    return selected;
}

我尝试不使用函数verifyCheckbox,我使用了checkbox.isChecked(),但得到了相同的结果。

priorityResponse.priorityOne.getTimeTable().tue = priorityOneTue.isChecked();

问题是当我在服务器上收到值时,我得到混合值。示例:如果我在服务器上检查了 mon,wed,fri,sun,则选择的值为:mon,tue,wed,thu,sun。我哪里做错了?

【问题讨论】:

    标签: java android json checkbox


    【解决方案1】:

    做一件事。在每个复选框上附加一个检查侦听器,并将复选框值附加到全局变量。并将附加的值发送到服务器。

    String str; //global variable.
    
    priorityOneTue = (CheckBox)findViewById(R.id.priorityOneTue);
    
    priorityOneTue.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            str += "tue";
        }
    
    });
    

    然后将str发送到服务器

     setForwardExternalFragment(str);
    

    【讨论】:

    • 但我有 35 个复选框。我认为这不是为每个复选框做的好方法。
    • 如果您需要检查每个复选框的顺序,这是正确的编码方式。
    • 我希望我给出的答案是您正在寻找的答案。谢谢。
    • 还是不行。我认为问题在于我如何将数据放入 JsonObject 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多