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
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