Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 控件:使用下拉列表框--Spinner

Android 控件:使用下拉列表框--Spinner

編輯:關於Android編程

---恢復內容開始---   一、前段代碼   復制代碼 <Spinner     android:id="@+id/spin"     android:paddingTop="10px"     android:layout_width="fill_parent"     android:layout_height="50sp"/>   <Button     android:id="@+id/addList"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="添加" /> 復制代碼 二、接下來新建一個下拉列表的視圖資源,即每個Item的TextView,我們把它命名為dropdown.xml,我們把它放到drawable中,代碼為:   復制代碼 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/tv1"     android:layout_width="fill_parent"     android:layout_height="20sp"     android:singleLine="true"     style="?android:attr/spinnerDropDownItemStyle"     /> 復制代碼 三、創建Adapter   這裡介紹下兩個函數:   1.ArrayAdapter.ArrayAdapter(Context context,int textViewResourcId,List<String> objects)   我們可以通過它創建新的Adapter對象,這裡需要三個參數:   (1)context上下文關系,就是這個Adapter屬於哪個Activity,屬於哪個應用程序。   (2)textViewResourcId TextView的資源id    (3)  最後一個參數是你要向下拉列表中添加的數據,可以是一個靜態的String數組,也可以是一個動態的List<String>;   2.AdapterView.setOnItemSelectedListener(OnItemSelectedListener listener),使用這個方法為Spinner對象設置監聽器。這裡參數是OnItemSelectedListener 接口,實現這個接口需要重寫兩個方法:   (1)public void onItemSelected(AdapterView<?> parent, View view,int position, long id)    這個方法中可以完成當選項被選中時要做的處理。四個參數的含義:   AdapterView<?> parent,這個類似context,只是范圍比較下,指你當前操作的AdapterView View view ,這個參數是你具體單擊的那個TextView對象 int position 這個參數的意思是你單擊的那個view在整個AdaterView中的位置 long id 單擊view的id (2)public void onNothingSelected(AdapterView<?> parent)    這個回調函數在AdapterView中沒有選項時調用。   完整代碼如下:   復制代碼     private Spinner spinner;     private TextView tv;     private ArrayAdapter<String> adapter;     private static final String[] years = { "小於1年", "1年-3年", "3年-5年", "5年以上" };     private ArrayList<String> array = new ArrayList<String>();       @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);           if (savedInstanceState == null) {             getSupportFragmentManager().beginTransaction()                     .add(R.id.container, new PlaceholderFragment()).commit();         }         spinner = (Spinner) findViewById(R.id.spin);           tv = (TextView) findViewById(R.id.textView1);           for (int i = 0; i < years.length; i++) {             array.add(years[i]);         }         adapter = new ArrayAdapter<String>(this,                 android.R.layout.simple_spinner_item, array);         adapter.setDropDownViewResource(R.drawable.dropdown);                  spinner.setAdapter(adapter);         spinner.setOnItemSelectedListener(new OnItemSelectedListener() {               @Override             public void onItemSelected(AdapterView<?> parent, View view,                     int position, long id) {                 // TODO 自動生成的方法存根                 String seleted = array.get(position);                 tv.setText(seleted);                 parent.setVisibility(View.VISIBLE);             }               @Override             public void onNothingSelected(AdapterView<?> arg0) {                 // TODO 自動生成的方法存根                 tv.setText("您沒有選擇");             }           });
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved