0

2 つのスピナーに xml リソース ファイルのテキスト配列を入力しています。1 つのスピナーの選択に応じて、もう 1 つのスピナーに xml リソース ファイルの 2 つの異なる配列のいずれかを入力します。Androidのモノでこれを行うのに問題があり、オンラインで例を見つけることができません。助けてください

4

2 に答える 2

1

これを試して...

public void onItemSelected(AdapterView<?> parent, View view, 
                int pos, long id) {
    if(pos==0){
       Spinner spinner = (Spinner) findViewById(R.id.spinner);
       ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.arrayone, android.R.layout.simple_spinner_item);
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       spinner.setAdapter(adapter);
    }
    else{
       Spinner spinner = (Spinner) findViewById(R.id.spinner);
       ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.arraytwo, android.R.layout.simple_spinner_item);
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       spinner.setAdapter(adapter);

       }

    }
于 2012-07-11T14:23:00.447 に答える
0

あなたの提案は大きな助けになりました。いくつかの変更を加えて、Android用のモノで私のために働いたのは次のとおりです。

スピナー名は spin3 です。opt1 または opt2 を選択できます。リソースには、opt1 という名前の文字列配列と、opt2 という名前の別の文字列配列があります。次に、2 番目のスピナー (spinner4) が、spin3 で選択された内容に基づいてその内容を opt1 または opt2 に変更します。

public void spin3_onItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
{
Spinner spin = (Spinner)sender;
string pos = spin.SelectedItem.ToString();
if(pos=="opt1")
{
Spinner spinner = (Spinner)FindViewById(Resource.Id.spinner4); 
ArrayAdapter adapter = ArrayAdapter.CreateFromResource this, Resource.Array.opt1, Android.Resource.Layout.SimpleSpinnerItem); 
adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); 
spinner.Adapter = adapter; 
} 
else
{ 
Spinner spinner = (Spinner) FindViewById(Resource.Id.spinner4); 
ArrayAdapter adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.opt2, Android.Resource.Layout.SimpleSpinnerItem); 
adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); 
spinner.Adapter = adapter; 
}
}

次に、これを使用してイベントを呼び出します

spin3.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(spin3_onItemSelected);
于 2012-07-12T23:12:11.820 に答える