Второй счетчик возвращает пустое значение в зависимости от положения и значения первого счетчика - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь использовать два вращателя для своего приложения, где значение второго счетчика будет основано на положении первого счетчика, и, таким образом, полученное значение из положения второго счетчика будет получено с помощью

 item = adapterView.getItemAtPosition(position).toString();

и более поздние версии будут загружены в базу данных Firebase.

Но я не могу заполнить второй счетчик на основе первого счетчика. Первый блесна загружается нормально, но когда я выбираю любой параметр в первом блесне, второй блесна всегда пуста или нет данных для выбора.

Вот мой код

   spinner_group = (Spinner) findViewById(R.id.spinner_group);
        //implementing OnItemSelectedListener (need to override the method)

        group_Array = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
        group_Array.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner_group.setAdapter(group_Array);

        group_Array.add("Select your Group");
        group_Array.add("Bangladesh");
        group_Array.add("India");
        group_Array.add("USA");
        group_Array.add("Canada");
        group_Array.setNotifyOnChange(true);

        spinner_group.setSelection(0);



        Spinner spinner = (Spinner) findViewById(R.id.spinner1);


        subject_Array = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
        subject_Array.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(subject_Array);
     
        spinner.setActivated(false);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
                item = adapterView.getItemAtPosition(position).toString();
                count = position;
                if (position == 0)
                    return;
                Toast.makeText(adapterView.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();

            int group_spinner_position = spinner_group.getSelectedItemPosition();
            switch (group_spinner_position){
                case 0:
                    //fill data for second spinner
                    fillBangladeshDivision();
                    break;
                case 1:
                    //fill data for second spinner
                    fillIndiaDivision();
                    break;
                case 2:
                    //fill data for second spinner
                    fillUSADivision();
                    break;
                case 3:
                    //fill data for second spinner
                    fillCanadaDivision();
                    break;
            }
            }
            private void fillBangladeshDivision() {
                subject_Array.clear();
                subject_Array.add("MSC Physics");
                subject_Array.add("MSC Chemistry");

                subject_Array.notifyDataSetChanged();
            }

            private void fillIndiaDivision() {
                subject_Array.clear();
                subject_Array.add("MSC Biology");
                subject_Array.add("MSC Geology");

                subject_Array.notifyDataSetChanged();
            }

            private void fillUSADivision() {
                subject_Array.clear();
                subject_Array.add("BBS|BBA");
                subject_Array.add("CA");
                subject_Array.notifyDataSetChanged();
            }

            private void fillCanadaDivision(){
                subject_Array.clear();
                subject_Array.add("Bachelor");
                subject_Array.add("BBS|BBA");
                subject_Array.notifyDataSetChanged();
            }
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }
        });

Пожалуйста, помогите. Заранее спасибо.

...