java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<T extends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Spinner
を使用しますというわけで、Spinner をいじってみた
サンプルプログラム
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class SpinnerTest extends Activity {
Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinnertest);
spinner = (Spinner) findViewById(R.id.Spinner01);
// ArrayAdapter を作成
ArrayAdapter<Charsequence> adapter =
ArrayAdapter.createFromResource(
this,
R.array.order,
android.R.layout.simple_spinner_item
);
// Adapter のレイアウトを設定
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Spinner に Adapter を設定
spinner.setAdapter(adapter);
// Spinner に表示させるプロンプトを設定
spinner.setPrompt("Spinner Prompt");
// Spinner の選択されているアイテムを設定
int default_item = 0; // 0 = first, 1 = second,...
spinner.setSelection(default_item);
// Spinner のアイテムが選択された時に呼び出されるコールバックを登録
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
// アイテムが選択された時の動作
public void onItemSelected(AdapterView parent,View view, int position,long id) {
// Spinner を取得
Spinner spinner = (Spinner) parent;
// 選択されたアイテムのテキストを取得
String str = spinner.getSelectedItem().toString();
}
// 何も選択されなかった時の動作
public void onNothingSelected(AdapterView parent) {
}
});
}
}
XMLリソース<Spinner android:id="@+id/Spinner android:layout_width="wrap_content" android:layout_height="wrap_content""> </Spinner>strings.xml
<string-array name="order"> <item>First</item> <item>Second</item> <item>Third</item> </string-array>プログラムを実行すると
こんな感じ!
ちなみに上と同じものを XML だけで作れます
XMLリソース
<Spinner android:id="@+id/Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/order" android:prompt="@string/spinnerprompt"> </Spinner>strings.xml
<string name="spinnerprompt">Spinner Prompt</string>リスナーなどの登録だけやればいいからこっちの方がすっきりしますね!
参考サイト
http://developer.android.com/intl/ja/reference/android/widget/Spinner.html

0 件のコメント:
コメントを投稿