Предварительно заполнить счетчики с определенным значением из json - PullRequest
0 голосов
/ 07 июня 2019

У меня есть три счетчика для заполнения доски, класса и темы.На основе выбора доски класс фильтруется, на основании выбора класса имена субъектов фильтруются и отображаются в счетчике.Я работаю с оператором обновления, где список впервые отображается пользователю.При нажатии на элемент списка детали извлекаются и должны быть заполнены в соответствующих текстовых полях.Вышеупомянутые счетчики должны показывать соответствующую доску, класс и имя субъекта на основе сведений

Я могу получить все данные и заполнить заполнитель разделов доски названием доски.Но невозможно заполнить счетчик классов и тем

/**
 Retrieves all the classes based on Board name selection
**/
try {
                            JSONObject jsonObject = new JSONObject(s);
                            final JSONArray jsonArray = jsonObject.getJSONArray("PopulateMultiListInfoResult");
                            int length2 = jsonArray.length();
                            List<String> class_list = new ArrayList<String>(length2);
                            class_list.add("Select Class");
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                                class_list.add(jsonObject1.getString("NAME"));
                                cboClass.setAdapter(new ArrayAdapter<String>(ManagementCurriculumSetup.this,
                                        android.R.layout.simple_list_item_1, class_list));
                                cboClass.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                                    @Override
                                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                                        try {
                                            position = position - 1;
                                            iClassID = jsonArray.getJSONObject(position).getString("ID");
                                             /**
                                              Method to populate Subject names based on Board and Class name selection
                                            **/
                                            populateSubjectInfo(iBoardID, iClassID);
                                        } catch (JSONException e) {
                                            e.printStackTrace();
                                        }
                                    }

                                    @Override
                                    public void onNothingSelected(AdapterView<?> parent) {

                                    }
                                });
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                    }
/**
 retrieve details based on the list item selected by the user
**/

try {
                            JSONObject jsonObject = new JSONObject(s);
                            JSONArray jsonArray = jsonObject.getJSONArray("RetrieveCurriculumDetailsResult");
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                                //String sSyllabusDetails = Html.fromHtml(jsonObject1.getString("SYLLABUS_DETAILS")).toString();
                                txtSectionTitle.setText(jsonObject1.getString("SECTION_TITLE"));
                                txtSyllabusDetails.setText(jsonObject1.getString(jsonObject1.getString("SYLLABUS_DETAILS")));
                                txtWeightageFocus.setText(jsonObject1.getString("MARK_FOCUS"));
                                txtSessionDurationAllocation.setText(jsonObject1.getString("SCHEDULED_DURATION"));
                                cboBoard.setSelection(getIndex(cboBoard, jsonObject1.getString("BOARD_ID")));
                                cboClass.setSelection(getIndex(cboClass, jsonObject1.getString("CLASS_NAME")));
                                cboSubject.setSelection(getIndex(cboSubject, jsonObject1.getString("SUBJECT_NAME")));
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
/**
 method to pre-populate spinner with a particular value based on list item selection
**/

private int getIndex(Spinner spinner, String myString) {
        int index = 0;
        for (int i = 0; i < spinner.getCount(); i++) {
            if (spinner.getItemAtPosition(i).toString().equalsIgnoreCase(myString)) {
                index = i;
                break;
            }
        }
        return index;
    }

Я могу заполнить только название доски выбранным элементом списка.Имена классов и тем не заполнены

...