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()メソッドが動き始めます。
そしてアイテムのリストをドロップダウンリストのように
表示します。
|
【用語解説】
XML
HTMLと同じような言語ですが、
すべての型の複雑なデータ構造を
送信するための設計ができる
ファイル型式。
オブジェクト
ある手続きを持った
データアイテムで、
他の手続きと関連づけされるもの
metaタグ
ウェブページに与える
情報の宣言につかわれ
検索エンジン・ウェブアプリ
などにウェブページの内容を
伝える役目をする。
metaタグの内容は
ページ内に表示されない。
コンストラクタ
オブジェクト指向
プログラミングで使われ
新しいオブジェクトが
作られ時に呼び出される
メソッドのこと。
クラス
オブジェクト指向
プログラミングでの
オブジェクトの型
オブジェクト指向プログラミング
プログラミングの
方式のことで、
プログラマはデータ型を
定義できるだけでなく
自動的にデータ型と
メソッドを関連付け
できる
アクティビティ
Androidにおける
アクティビティは
Androidアプリの画面に
相当するもの
ボタンやウェブページ
など表示されている
すべてのもののこと。
view
Androidのアプリを開発する
上で使う部品のことで、
トリガボタン・イメージボタン
チェックボックスなどのこと。
UI
ユーザインターフェースのこと。
Bind(バインド)
シンボルとデータを
関連させるため
または、データの一片と
他のものを関連させること。
以下は例。
・変数に値を入れる。
(変数の初期化)
・特定のEthernetポートと
ネットワークプロトコルを
関連付けする。
・Javaの変数のセット上に
XML文書を配置すること。
または、ほかの
プログラミング言語でも。
|