最終更新:
moonlight_aska 2011年05月15日(日) 22:37:52履歴
スピナー(Spinner)は, リストから1つの項目を選択させるウィジェットである.
表示する項目は, ListAdapterインタフェースを実装したクラスを使って, 別途準備する必要がある.


表示する項目は, ListAdapterインタフェースを実装したクラスを使って, 別途準備する必要がある.

- res/layout/main.xml
- "@+id/spinner_id"でプログラムからアクセスするIDを定義する.
- スピナーをどれくらいの大きさで配置するかを指定する.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Spinner android:id="@+id/spinner_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
- res/layout/list.xml
- 文字列を表示するので, TextViewを定義する.
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
/>
- コード
- SpinnerクラスとArrayAdapterクラスをインポートする.
- findViewByIdメソッドで, 指定したリソースインデックスのIDに対応したスピナーのインスタンスを取得する.
- アダプターを生成し, リストする項目を追加する.
- setAdapterメソッドで, アダプターをスピナーに設定する.
package com.moonlight_aska.android.spinner01;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class Spinner01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner)findViewById(R.id.spinner_id);
// アダプターに項目を追加
String[] items = {"Item1","Item2","Item3"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, items);
// アダプターを設定
spinner.setAdapter(adapter);
}
}

このページへのコメント
実行できなとのコメントがありましたので, 再度エミュレータ(1.6)及びSharp SH-03Cで動作確認しました.
当方の環境(Android-SDK-r11)では問題なく動作しています.
開発環境及び症状を教えてください.
このソースでは実行できませんので
参考にしないように。