2011-12-24 8 views
0

私は2つのクラスを持っています。それにスピナーを持ち、プリファレンスクラスを持つクラス。スピナーは、strings.xml`s1 =(Spinner)からの配列で設定されます。findViewById(R.id.spinner1);Androidの設定メニュー(クリックすると配列IDが変わります)

ArrayAdapter adapter1 = ArrayAdapter.createFromResource(
      this, R.array.height_array, android.R.layout.simple_spinner_item); 
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    s1.setAdapter(adapter1);` 

第二のクラスは、スピナーの /種類(それはListPreferenceだと思う)ListPreferenceと優先クラスです。あなたがそれをクリックし、ListPreferenceから項目のいずれかを選択する場合、私はスピナーが別の配列を使用したい。 R.array.height_arrayをR.array.height2_arrayなどに変更します。可能ですか?

答えて

0

はい、このようなものが動作するはずです。 2つ以上の選択肢が必要な場合は、より多くのifsを使用してください。

if (prefs == choiceOne){ 
ArrayAdapter adapter1 = ArrayAdapter.createFromResource(
     this, R.array.height_array, android.R.layout.simple_spinner_item); 
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
s1.setAdapter(adapter1); 
}else{ 
ArrayAdapter adapter1 = ArrayAdapter.createFromResource(
     this, R.array.height2_array, android.R.layout.simple_spinner_item); 
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
s1.setAdapter(adapter1); 
} 
関連する問題