4

我有两个旋转器。国家和城市。我想在选择国家/地区时动态更改城市的值。我知道如何创建和初始化 Country 的值,但不知道如何设置和更改 City 的值。

任何指导表示赞赏。

UPDATES1 问题是,我不知道如何更新 City Spinner 的内容。我知道如何创建固定微调器的侦听器和其他基础知识。

4

2 回答 2

6

List<String>对于第二个微调器,在 a (或任何您的 City 表示形式)上使用 Adapter 。更改列表的内容后,调用notifyDataSetChanged适配器,就可以了。

于 2011-09-27T00:32:48.967 回答
3

您需要获得对微调器的编程引用,如下所示:

     Spinner spinner = (Spinner) findViewById(R.id.spinner);
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.planets_array, android.R.layout.simple_spinner_item);
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     spinner.setAdapter(adapter);

然后要更新您所在城市的值,请使用 OnItemSelectedListener,如下所示:

public class MyOnItemSelectedListener implements OnItemSelectedListener {

   public void onItemSelected(AdapterView<?> parent,
      View view, int pos, long id) {
          //update content of your city spinner using the value at index,
          // id, or the view of the selected country. 
      }
   }

   public void onNothingSelected(AdapterView parent) {
   // Do nothing.
   }

}

最后,您需要像这样将监听器绑定到国家微调器:

    spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

请参阅此处以供参考:http: //developer.android.com/resources/tutorials/views/hello-spinner.html

于 2011-09-27T00:38:48.530 回答