在片段中工作時,我試圖返回一個從選擇微調器中的項目確定的值,但我無法使其工作。方法內的Toast通知不起作用,看起來問題在方法中。我怎樣才能解決這個問題?android - 如何使用/設置嵌套spinners?
public Spinner districtSpinner, countySpinner;
public int selectedDistrict;
是使用的變量。這裏是我的父母旋塗法,districtSpinner()
public void districtSpinner() {
ArrayAdapter<String> Dadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.districtNames));
Dadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
districtSpinner.setAdapter(Dadapter);
districtSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
selectedDistrictPosition = districtSpinner.getSelectedItemPosition();
switch (selectedDistrictPosition) {
case 0: {
selectedDistrict = 1;
break;
}
case 1: {
selectedDistrict=2;
break;
}
case 2: {
selectedDistrict=3;
break;
}
case 3: {
selectedDistrict=4;
break;
}
case 4: {
selectedDistrict=5;
break;
}
case 5: {
selectedDistrict=6;
break;
}
case 6: {
selectedDistrict=8;
break;
}
case 7: {
selectedDistrict=9;
break;
}
case 8: {
selectedDistrict=10;
break;
}
case 9: {
selectedDistrict=11;
break;
}
case 10: {
selectedDistrict=12;
break;
}
default: {
selectedDistrict=1;
break;
}
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
}
這是孩子微調「countySpinner」我想使依賴於父微調。該方法應根據selectedDistrict進行切換,並使用包含每個區縣的集合(R.array.districtx)的相應字符串數組設置微調器。目前,第二個微調器什麼都不做,就我而言,這個縣的調子()甚至沒有被調用。
public void countySpinner() {
switch (selectedDistrict) {
case 0: {
break;
}
case 1: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district1));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 2: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district2));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 3: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district3));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 4: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district4));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 5: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district5));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 6: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district6));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 7: {
break;
}
case 8: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district8));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 9: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district9));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 10: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district10));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 11: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district11));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
case 12: {
ArrayAdapter<String> Cadapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.district12));
Cadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
countySpinner.setAdapter(Cadapter);
countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
);
break;
}
default: {
break;
}
}
districtSpinner()是如何使用的?看起來你調用它並期望所選的int是返回值。 – 2014-09-19 15:05:34
@ErikNedwidek它幾乎只是用來指定選擇哪個區域。我試圖在開關情況下使用返回的int。 – JHinne 2014-09-19 15:08:02
這就是問題所在。 'switch case'只會在選擇項目時運行,而不是在調用'districtSpinner()'方法時運行。 – 2014-09-19 20:34:06