スピナーを作成する
今回は前回作成したものをベースにカスタムしていこうと思います
まずは
setDropDownViewResource
を追加してレイアウトを変更してみます
一応前回の復習もかねてソース全体を載せます
MainActivity.java
package blog.test; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity { private String[] mStrings = { "test1", "test2", "test3", "test4" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //リニアレイアウトを配置 LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); setContentView(layout); //リニアレイアウトにスピナーを追加 Spinner spinner = new Spinner(this); layout.addView(spinner); ArrayAdapterこれを実行すると以下のようにスピナーのレイアウトが変更されますadapter = new ArrayAdapter (this, android.R.layout.simple_spinner_item, mStrings); spinner.setAdapter(adapter); //スピナーのレイアウト変更 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setSelection(1); //スピナーのクリックイベントを取得する spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { //Itemが選択された時 public void onItemSelected(AdapterView parent, View view, int position, long id) { //parentのspinnerを指定 Spinner spinner = (Spinner) parent; //選択されたitemを取得 String item = (String) spinner.getSelectedItem(); //Toast表示 Toast.makeText(MainActivity.this, String.format("%sが選択されました。", item), Toast.LENGTH_SHORT).show(); } //何も選択されなかったとき public void onNothingSelected(AdapterView parent) { Toast.makeText(MainActivity.this, "何も選択されませんでした", Toast.LENGTH_SHORT).show(); } }); } }

ちなみにspinner.setSelection(1)の部分はスピナーの初期値(+1)を変更するものです
今回は“1”なためtest2が初期値になっています(0のとき項目1が選択されている)
次にspinner.setPromptを追加してみます
これはSpinnerの題名を表示させるものです
追加部分を以下のように変更してみます
//スピナーのレイアウト変更 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setSelection(2); spinner.setPrompt("test一覧");これを実行してみると・・・

表題が表示されるようになりました
スポンサードリンク