Spinner是下拉列表框,用戶能夠經過該控件從所列item中進行選擇,還能夠觸發item的監聽事件。java
該實例經過ArrayAdapter類建立了含有30個item的下拉列表,當用戶從所列的item中進行選擇後,會彈出一個消息框,提示用戶所選條目。注意spinner條目監聽方法是setOnItemSelectedListener(),而不是setOnItemClickListener(),若是使用setOnItemClickListener()方法會出現秒退現象。android
首先是佈局文件,添加一個Spinner組件:app
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="main.test_spinner.MainActivity" > <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" android:spinnerMode="dropdown" /> <!-- 經過設置spinnerMode能夠設置item顯示方式,是下拉式(API爲11以上)仍是彈出對話框樣式的 --> </LinearLayout>
其次是strings.xml文件,主要是label顯示,:ide
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Test_Spinner</string> </resources>
再次是android源代碼文件:佈局
package main.test_spinner; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends ActionBarActivity implements OnItemSelectedListener{ private Spinner spinner=null; private ArrayAdapter<String> adapter=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner=(Spinner) findViewById(R.id.spinner1); adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1);//item顯示佈局採用系統提供的 for(int i=0;i<30;i++) adapter.add("第"+i+"項"); spinner.setAdapter(adapter);//關聯適配器 spinner.setSelection(2);//設置初始顯示項,這裏是position two,由於位置從0開始計數 spinner.setOnItemSelectedListener(MainActivity.this); } @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "您選擇的是第"+arg2+"項!", Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }
最後是測試結果:測試
一、啓動時的結果:this
二、點擊第五項結果顯示:code