0
Spinner spinner, spinner2;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_check_box_tuts);

        spinner = (Spinner)findViewById(R.id.spinner1);
        spinner2 = (Spinner)findViewById(R.id.spinner2);
        spinner.setOnItemSelectedListener(this);

    }
    @Override
    public void onItemSelected(AdapterView<?> v, View arg1, int arg2,
            long arg3) {
        switch(v.getId()){
        case R.id.spinner1:
            if(spinner.getSelectedItemPosition() == 1){
                //what goes here??
            break;
        }
        }
    }

私の最初のスピナーリストが国であるように:米国、日本など。たとえば、米国が選択された後、私の2番目のスピナーは米国の州の配列のリストを取得できるようになります。

私は初心者のロジックを使用して、このように考えようとしています。2番目のスピナーをView.GONEに設定し、USAが選択されている場合は、それだけで州を運ぶスピナー2を表示します。ただし、60か国がある場合は、 60スピナーを持っている、それは面白いので私を助けてください:D

4

1 に答える 1

0

Spinner国ごとにインスタンスを作成するのではなく、同じを維持Spinnerし、最初から値を選択したときに格納されているデータSpinnerArrayAdapter.createFromResource()およびSpinner.setAdapter()に置き換えます。これらの2つの呼び出しを使用した例を次に示します

最初にオプションが選択される前に2番目を非表示にするのではなくSpinner、最初にデフォルトの選択を行いSpinner、2番目に一致するデータを入力することを検討してください。あなたの例では、USAがデフォルトの選択として適しています。

于 2012-10-14T11:33:24.750 に答える