ともちゃんのアプリ開発日記

組込みC言語プログラマだったともちゃんが、四苦八苦しながら、AndroidのJAVA/Kotlin、iOSのSwiftUIを習得して行きます。ともちゃんの備忘録も兼ねています。

Spinner

Spinnerを使用してドロップダウンリストからアイテムを選択する。

  • レイアウト
<Spinner
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/spinnerCategoly"
android:textAppearance="?android:attr/textAppearanceMedium" />

 

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// アイテムを追加します
SharedPreferences prefs = this.getActivity().getSharedPreferences("setting", Context.MODE_PRIVATE);

Context context = getActivity();
Resources res = context.getResources();

String category_1 = prefs.getString("Category_1", res.getString(R.string.category_default_1));
String category_2 = prefs.getString("Category_2", res.getString(R.string.category_default_2));
String category_3 = prefs.getString("Category_3", res.getString(R.string.category_default_3));
String category_4 = prefs.getString("Category_4", res.getString(R.string.category_default_4));
String category_5 = prefs.getString("Category_5", res.getString(R.string.category_default_5));
String category_6 = prefs.getString("Category_6", res.getString(R.string.category_default_6));
String category_7 = prefs.getString("Category_7", res.getString(R.string.category_default_7));
String category_8 = prefs.getString("Category_8", res.getString(R.string.category_default_8));
String category_9 = prefs.getString("Category_9", res.getString(R.string.category_default_9));

if (!category_1.equals("")) adapter.add(category_1);
if (!category_2.equals("")) adapter.add(category_2);
if (!category_3.equals("")) adapter.add(category_3);
if (!category_4.equals("")) adapter.add(category_4);
if (!category_5.equals("")) adapter.add(category_5);
if (!category_6.equals("")) adapter.add(category_6);
if (!category_7.equals("")) adapter.add(category_7);
if (!category_8.equals("")) adapter.add(category_8);
if (!category_9.equals("")) adapter.add(category_9);
Spinner spinner = (Spinner) view.findViewById(R.id.spinnerCategoly);
// アダプターを設定します
spinner.setAdapter(adapter);
// スピナーのアイテムが選択された時に呼び出されるコールバックリスナーを登録します
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Spinner spinner = (Spinner) parent;
// 選択されたアイテムを取得します
String item = (String) spinner.getSelectedItem();

dataCenter.setCurrentCategory(item);

}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});