android:根据另一个微调器选择填充微调器

android :populating spinner based on another spinner selection

spinner 没有根据另一个 spinner selection 进行填充,我已经研究了好几个小时了,仍然无法解决问题,[=22 中没有错误=]。提前致谢。

这是我的代码

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, SPINNERCOUNTRY);

    spinnerCountry = (MaterialBetterSpinner) findViewById(R.id.spinnerState);

    spinnerCountry.setAdapter(adapter);

    spinnerCity = (Spinner) findViewById(R.id.spinnerCity);


    spinnerCountry.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long l) {
            adapterView.getItemAtPosition(pos);
            if (pos == 0) {
                ArrayAdapter<CharSequence> adapter =  ArrayAdapter
                        .createFromResource(SpinnerStateCitySelectorActivity.this, R.array.city_Tamil_Nadu,
                                android.R.layout.simple_spinner_dropdown_item);
                spinnerCity.setAdapter(adapter);
            } else if (pos == 1) {
                ArrayAdapter<CharSequence> adapter = ArrayAdapter
                        .createFromResource(SpinnerStateCitySelectorActivity.this, R.array.city_Kerela,
                                android.R.layout.simple_spinner_dropdown_item);
                spinnerCity.setAdapter(adapter);
            } else if (pos == 2) {
                ArrayAdapter<CharSequence> adapter = ArrayAdapter
                        .createFromResource(SpinnerStateCitySelectorActivity.this, R.array.city_Karnataka,
                                android.R.layout.simple_spinner_dropdown_item);
                spinnerCity.setAdapter(adapter);
            }
        }

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

        }
    });

您可以尝试使用所选项目的价值,使用 onItemSelectedListner

yourMainSpin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            String spinnerValue = yourMainSpin.getSelectedItem().toString();
            if (spinnerValue.equals("requierdString")) { 
                subSpinner.setAdapter(yourAdapter);
            }else if (spinnerValue.equals("requierdString")){
                subSpinner.setAdapter(yourAdapter);
                }
}
        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });

希望对您有所帮助。

用户 onItemClickListener 而不是 setOnItemSelectedListener