spinner ArrayAdapter

public class MainActivity extends Activity {
 /** Called when the activity is first created. */
 //聲明Spinner對象
 private Spinner spinner = null;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //通過ID,得到Spinner對象
  spinner = (Spinner) findViewById(R.id.spinnerId);
  List<String> list = new ArrayList<String>();
  list.add("test1");
  list.add("test2");
  //調用ArrayAdapter的構造函數來創建ArrayAdapter對象
  //第一個參數是指上下文對象
  //第二個參數指定了下拉菜單當中每一個條目的樣式
  //第三個參數指定了TextView控件的ID
  //第四個參數爲整個列表提供數據
  ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);
  //通過createFromResource方法創建一個ArrayAdapter對象
  //第一個參數是指上下文對象
  //第二參數引用了在strings.xml文件當中定義的String數組
  //第三個參數是用來指定Spinner的樣式,是一個佈局文件ID,該佈局文件由Android系統提供,也可替換爲自己定義的佈局文件
  /*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
    this, R.array.planets_array,
    android.R.layout.simple_spinner_item);
*/  //設置Spinner當中每個條目的樣式,同樣是引用一個Android系統提供的佈局文件
  //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  
  spinner.setAdapter(adapter);
  spinner.setPrompt("測試");
  //爲spinner對象綁定監聽器
  spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
 }
 //這個監聽器主要用來監聽用戶選擇列表的動作
 class SpinnerOnSelectedListener implements OnItemSelectedListener{
  
  //當用戶選定了一個條目時,就會調用該方法
  @Override
  public void onItemSelected(AdapterView<?> adapterView, View view, int position,
    long id) {
   String selected = adapterView.getItemAtPosition(position).toString();
   System.out.println(selected);
  }

  @Override
  public void onNothingSelected(AdapterView<?> adapterView) {
   // TODO Auto-generated method stub
   System.out.println("nothingSelected");
  }
  
 }
}


發佈了51 篇原創文章 · 獲贊 18 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章