「Android/UIプルダウン」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→データをxmlで定義する場合) |
|||
| (同じ利用者による、間の4版が非表示) | |||
| 行44: | 行44: | ||
==デフォの値を設定する場合== | ==デフォの値を設定する場合== | ||
| + | // 設定 | ||
((Spinner)findViewById(R.id.sizelist)).setSelection(1); | ((Spinner)findViewById(R.id.sizelist)).setSelection(1); | ||
| + | // 取得(9件までなら 0~8が取得できる) | ||
| + | ((Spinner)findViewById(R.id.sizelist)).getSelectedItemId() | ||
| + | |||
| + | ==データをxmlで定義する場合== | ||
| + | res/layout/activity_main.xml | ||
| + | <Spinner | ||
| + | android:layout_width="wrap_content" | ||
| + | android:layout_height="wrap_content" | ||
| + | android:id="@+id/size_type_spinner" | ||
| + | android:entries="@array/size_type" | ||
| + | android:spinnerMode="dialog" /> | ||
| + | |||
| + | res/values/arrays.xml | ||
| + | <pre> | ||
| + | <resources> | ||
| + | <string-array name="size_type"> | ||
| + | <item>aspect_3:4</item> | ||
| + | <item>aspect_16:9</item> | ||
| + | <item>aspect_16:5</item> | ||
| + | <item>aspect_1:1</item> | ||
| + | </string-array> | ||
| + | </resources> | ||
| + | </pre> | ||
| + | |||
| + | この場合 spinner.setAdapter(adapter); は不要となる | ||
2019年8月28日 (水) 18:00時点における最新版
プルダウンサンプル
Spinnerクラスを使う
MainActivity.java
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_item,
new String[] {
"test1",
"test2",
"test3",
"test4"}
);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = findViewById(R.id.sizelist);
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();
//textView.setText(item);
}
public void onNothingSelected(AdapterView<?> parent) {
//
}
});
main_activity.xml
<Spinner
android:id="@+id/sizelist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
/>
参考:http://d.hatena.ne.jp/nkawamura/20131005/1380963701
デフォの値を設定する場合
// 設定 ((Spinner)findViewById(R.id.sizelist)).setSelection(1); // 取得(9件までなら 0~8が取得できる) ((Spinner)findViewById(R.id.sizelist)).getSelectedItemId()
データをxmlで定義する場合
res/layout/activity_main.xml
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/size_type_spinner"
android:entries="@array/size_type"
android:spinnerMode="dialog" />
res/values/arrays.xml
<resources>
<string-array name="size_type">
<item>aspect_3:4</item>
<item>aspect_16:9</item>
<item>aspect_16:5</item>
<item>aspect_1:1</item>
</string-array>
</resources>
この場合 spinner.setAdapter(adapter); は不要となる
