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 件のコメント:
コメントを投稿