我想這連接值與兩個微調
當我選擇從spinner1一個項目,在相應
爲例
spinner2變化值當我從spinner1選擇「美國」,「洛杉磯洛杉磯「和」紐約「在spinner2中顯示。
當我從spinner1中選擇「德國」時,spinner2中會顯示「柏林」和「慕尼黑」。
我想這連接值與兩個微調
當我選擇從spinner1一個項目,在相應
爲例
spinner2變化值當我從spinner1選擇「美國」,「洛杉磯洛杉磯「和」紐約「在spinner2中顯示。
當我從spinner1中選擇「德國」時,spinner2中會顯示「柏林」和「慕尼黑」。
嘗試是這樣的:
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 /值文件夾):
<?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>
我在這一行有錯誤 loadContentOnSpinner2(國家.get(pos)) 無法解析符號'國家 –
我更新了代碼。再試一次。 – fsnasser
運行程序時看不到該項目 –
您已經在第一個Spinner
onItemSelected
這個方法中設置了您的第二個Spinner
adpater值。
CountrySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// get here State Spinner
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
當你使用selecte然後OnItemSelectedListener下面的代碼先用微調。
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parentView,
View selectedItemView, int position, long id) {
if(pos == 1){
spinner2.setAdapter(adapter2);
}else{
spinner2.setAdapter(adapter3);
}
}
public void onNothingSelected(AdapterView<?> arg0) {// do nothing
}
});
查找下面相關鏈接:http://stackoverflow.com/questions/29474829/how-to-make-spinner-depends-on-another-spinner –