나는 것을 원하는
spinner1에서 항목을 선택하면 spinner2의 값이 그에 따라 변경됩니다.
예를 들어
spinner1에서 "USA"를 선택하면 spinner2에 "Los Angeles"와 "New York"이 표시됩니다.
spinner1에서 "Germany"를 선택하면 spinner2에 "Berlin"과 "Munich"가 표시됩니다.
다음과 같이 시도하십시오.
private void setSpinner1() {
Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.cities, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
String[] countries = getResources().getStringArray(R.array.countries);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
loadContentOnSpinner2(countries[pos]);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private void loadContentOnSpinner2(String country) {
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter = null;
if(country.equals("USA"))
ArrayAdapter.createFromResource(this, R.array.usa_states, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter);
}
arrays.xml (res / values 폴더) :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="countries">
<item>USA</item>
<item>...</item>
</string-array>
</resources>
<resources>
<string-array name="usa_states">
<item>New York</item>
<item>...</item>
</string-array>
</resources>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다