ウェブアプリケーション,インジェクション,コマンドインジェクション

Androidアプリ開発 画像とアイテムのリストを表示していく

Spinner Viewを使って表示する

Displaying a List of Items Using the Spinner View

アイテムのリストを表にするためにListViewを使っていくために、
SpinnerViewも使えます。
Spinnerはドロップダウンリストボックスのように動作し、
このSpinnerはWindows OSでは一般的なものです。
以下のコードで、Spinner Viewを使って、名前のリストを表示し、
OSのリストを指定します。
Spinnerを使うためには、<Spinner>要素を
ユーザインターフェースに加えます。
すると、以下のようなactivity_main.xmlファイルの様になります。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >

  <Spinner
   android:id="@+id/spinner1"
   android:layout_width="wrap_content"
   android:layout_height"="wrap_content"
   android:drawSelectorOnTop="true" />
<RelativeLayout>

アクティビティの中で、ユーザインターフェースのSpinnerの
参照を取得し、ArrayAdapterオブジェクトへ
Spinnerを割り当てます。

package net.learn2develop.spinner;

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

public class MainActivity extends Activity{
  Spinner s1;
  String[] os = {
         "Linux",
         "Free BSD",
         "OS_X",
         "Windows"
  };

  @Override
  public void onCreate(Bundle savedInstanceState){
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

   //---Spinner View---
   s1 = (Spinner) findViewById(R.id.spinner);
   ArrayAdapter<String>adapter = new ArrayAdapter<String>{
      this, android.R.layout.simple_spinner_item, os);
   s1.setAdapter(adapter);

   s1.setOnItemSelectedListener(new OnItemSelectedListener(){
    public void onItemSelected(AdapterView<?> arg0, View arg1,
       int arg2, long arg3) {
     int index = s1.getSelectedItemPosition();
     Toast.makeText(getBaseContext(),
        "You have selected item :" +os[index],
       &ems;Toast.LENGTH_SHORT).show();
     }

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

上のコード例では、ArrayAdapterオブジェクトがString Arrayから、
値のリストをロードしてます。

ArraAdapter<String> adapter = new ArrayAdapter<String>{
  this, android.R.layout.simple_spinner_item, os);

ArrayAdapterオブジェクトをSpinner Viewに割り当てます。

s1.setAdapter(adapter);

setOnItemSelectedListener()メソッドを
OnItemSelectedListenクラスのインスタンスに
割り当てるために呼び出し、Spinnerのアイテムをユーザが選んだ時に、
イベントを処理できるようにします。

s1.setOnItemSelectedListener(new OnItemSelectedListener(){
  public void onItemSelected(AdapterView<?> arg0, View arg1,
  int arg2, long arg3) {
   int index = s1.getSelectedItemPosition();
   Toast.makeText(getVaseContext(),
     "You have selected item :" + os[index],
     Toast.LENGTH_SHORT).show();
   }

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

ユーザがSpinner Viewにあるアイテムを選んだ時に、
onItemSelected()メソッドが動き始めます。
そしてアイテムのリストをドロップダウンリストのように
表示します。



ホーム
便利堂ロゴ
inserted by FC2 system