как изменить другой счетчик на основе выбранного ранее счетчика? - PullRequest
0 голосов
/ 13 мая 2018

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

это код Java

    Spinner gedungSpn, lantaiSpn, ruangSpn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_kelas);
GedungSpinner();

        if (gedungSpn.getSelectedItemPosition() == 0){
            LantaiSpinnerRektorat();
        }else if(gedungSpn.getSelectedItemPosition() == 1){
            LantaiSpinnerGL();
        }
    }
 public void GedungSpinner(){

        gedungSpn = (Spinner) findViewById(R.id.gedung_spn);
        List<String> list = new ArrayList<String>();
        list.add("Rektorat");
        list.add("Griya Legita");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        gedungSpn.setAdapter(dataAdapter);
    }

    public void LantaiSpinnerRektorat(){

        lantaiSpn = (Spinner) findViewById(R.id.lantai_spn);
        List<String> list = new ArrayList<String>();
        list.add("Lantai 1");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        lantaiSpn.setAdapter(dataAdapter);
    }

    public void LantaiSpinnerGL(){

        lantaiSpn = (Spinner) findViewById(R.id.lantai_spn);
        List<String> list = new ArrayList<String>();
        list.add("Lantai 1");
        list.add("Lantai 2");
        list.add("Lantai 3");
        list.add("Lantai 4");
        list.add("Lantai 5");
        list.add("Lantai 6");
        list.add("Lantai 7");
        list.add("Lantai 8");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        lantaiSpn.setAdapter(dataAdapter);
    }

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

1 Ответ

0 голосов
/ 13 мая 2018

Заменить

        if (gedungSpn.getSelectedItemPosition() == 0){
            LantaiSpinnerRektorat();
        }else if(gedungSpn.getSelectedItemPosition() == 1){
            LantaiSpinnerGL();
        }

с

gedungSpn.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view,
                    int position, long id) {
                if (position == 0){
                   LantaiSpinnerRektorat();
                 }else if(position == 1){
                   LantaiSpinnerGL();
                 }
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                // TODO Auto-generated method stub

            }
        });
...