Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


スピナーを表示する
ここでは、スピナーを表示する方法を確認します。

スピナーで選択された値を取得するには、「OnItemSelectedListener」を実装し、「OnItemSelected」メソッドを使用して選択された値を取得します。サンプルではスピナーで選択した値をトーストで表示する仕様になっています。

SpinnerActivity.java
package godroid.sample.spinner;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class SpinnerActivity extends Activity implements OnItemSelectedListener{
    /** 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.spinner1);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
            android.R.layout.simple_spinner_item);
        
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // アイテムを追加する
        adapter.add("First");
        adapter.add("Secound");
        adapter.add("Third");

        // アダプターをスピナーに設定する
        spinner.setAdapter(adapter);

        // リスナーを設定する
        spinner.setOnItemSelectedListener(this);

    }

    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
			long arg3) {

        // ここに選択時の処理を記述する

	// 選択された値を表示する
	Toast.makeText(this, String.valueOf(arg0.getSelectedItem()),
            Toast.LENGTH_SHORT).show();
    }

    public void onNothingSelected(AdapterView<?> arg0) {

    }
}


XMLには「Spinner」クラスを用います。

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>


実行結果


【関連記事】
トーストを表示する

4117 views | コメント:0 | 2012-05-24
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)