动态广播按钮存储JSON响应ID和名称



底部中的大家好,我编码一些功能完美的作用,但我在其中使用数组列表,但是如果用户选择任何按钮,我想要动态的广播按钮我我得到选择的ID我的json响应就像divid一样,difissemname我必须在广播按钮中向用户显示dissionname,如果用户根据我们想要的任何广播,如果我们要通过一个无线电按钮中的ID和名称,提交按钮我想要ID

            ArrayList<String> divId = null;
            ArrayList<String> divName = null;
            RadioGroup divRadioGrouop;
            String divsionId=null;
            if (divisionCheck) {
                    RadioButton rdbDiv;
                    divId = new ArrayList<>();
                    divName = new ArrayList<>();
                    divisionLogin.setVisibility(View.VISIBLE);
                    divRadioGrouop.removeAllViews();
                    for (int j = 0; j < jsonArrayDiv.length(); j++) {
                        JSONObject jsonDiv = jsonArrayDiv.getJSONObject(j);
                        divId.add(jsonDiv.getString("divid"));
                        divName.add(jsonDiv.getString("divisionname"));
                        rdbDiv = new RadioButton(this);
                        rdbDiv.setId(View.generateViewId());
                        rdbDiv.setText(jsonDiv.getString("divisionname"));
                        divRadioGrouop.addView(rdbDiv);
                    }
                    divOk.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            int divid = divRadioGrouop.getCheckedRadioButtonId();
                            RadioButton radioButton = (RadioButton) findViewById(divid);
                            String divSionNameFind = (String) radioButton.getText();
                            int idPostionIndex = divName.indexOf(divSionNameFind);
                            divsionId = divId.get(idPostionIndex);
                            divName.clear();
                            divId.clear();
                            logINDataForDiv();
                        }
                    });
                    divCancel.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            // do something
                        }
                    });
                }

在这种情况下,您需要使用标签,首先在所有广播按钮中添加divid,例如:

radioButton.setTag(divid);

在提交时,您可以通过以下方式恢复分区:

String divid=radioButton.getTag().toString();

确保您在getTag之前做settag,否则getTag将返回null,您的应用将崩溃。

最新更新