Как заставить Спиннера получить доступ к другому Спиннеру? - PullRequest
1 голос
/ 05 февраля 2012

У меня есть три счетчика = spinState, spinCounty и spinCity, я хотел бы выбрать счетчик штатов, затем выбрать штат, затем второй счетчик выдаст мне список округов в этом конкретном штате, затем выберите округ, затем третий счетчик предоставил бы мне список городов с этим конкретным округом, таких как: (штат) Флорида, (округ) Дейд, (город) Майами, а затем после того, как все 3 были выбраны, передайте эту информацию в следующий вид деятельности / класс , Кто-нибудь может помочь? вот мой код

Spinner spinState,spinCounty,spinCity;
Button bNext;

protected void onCreate(Bundle)
{
    //TODO Auto generated method stub
    super.oncreate(Bundle)
    setContentView(R.layout.info);

    Spinner States = (Spinner) findViewById(R.id.spinState);
    ArrayAdapter USstates = ArrayAdapter.createFromResource(this,
    R.array.States, android.R.layout.simple_spinner_item);
    USstates.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    States.setAdapter(USstates);
    Spinner Counties = (Spinner) findViewById(R.id.spinCounty);
    ArrayAdapter UScounties = ArrayAdapter.createFromResource(this,
    R.array.Counties, android.R.layout.simple_spinner_item);
    UScounties.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    Counties.setAdapter(UScounties);
    Spinner Cities = (Spinner) findViewById(R.id.spinCity);
    ArrayAdapter UScities = ArrayAdapter.createFromResource(this,
    R.array.Cities,android.R.layout.simple_spinner_item);

    UScities.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    Cities.setAdapter(UScities);

    initialize();
    bNext.setOnClickListener(this);
}

Какой код я должен использовать и где? PS. кто бы ни ответил, вы можете использовать мои точные переменные, чтобы я не растерялся, спасибо заранее.

1 Ответ

0 голосов
/ 29 ноября 2013
countries.setOnItemSelectedListener(new OnItemSelectedListener() {
        ArrayAdapter<String> stateadapter=null;
        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int pos, long id) {
            switch (pos) {
            case 0:
                 stateadapter = new ArrayAdapter<String>(
                        activityclass.this,
                        android.R.layout.simple_spinner_item, Arrays
                                .asList(getResources().getStringArray(
                                        R.array.USAstate)));
                states.setAdapter(stateadapter);
            case 1:
                 stateadapter = new ArrayAdapter<String>(
                        activityclass.this,
                        android.R.layout.simple_spinner_item, Arrays
                                .asList(getResources().getStringArray(
                                        R.array.Indiastate)));
                states.setAdapter(stateadapter);
            }
        }



        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

}

Выберите штат

<string-array name="USAstate">
    <item>california</item>
    <item>texas</item>
    <item>virgina</item>
    <item>alaska</item>          
</string-array>
...