安卓提供的列表選擇框(Spinner)相當於web端用戶注冊時的選擇下拉框,比如注冊候選擇省份城市等。如下圖便是一個列表選擇框
下拉列表的列表選擇項能夠通過xml文件的android:entries屬性指定,或是在java代碼中導入,屬性android:prompt是列表項的標題。
一 列表項數據:
實際運用當中,很多下拉列表項的數據實際是可知的,可以放在xml資源文件中。這時,開發者可以通過xml屬性進行指定數據。
除了資源文件之外,開發者還能夠使用適配器適配數據源。(適配器:如果您的電腦不能接收藍牙信號,你可以安裝藍牙適配器用來接收藍牙信號。功能就是把不符合自己的信號或數據轉化符合自己的形式)
二 關於監聽
用戶在下拉列表進行選擇以后,程序需要進行相應的相應處理,這就需要監聽器。列表選擇框的監聽器是OnItemSelectedListener(),開發者重寫OnItemSelected()方法。
三 案例操作
1.創建一個資源文件配置的列表選擇框
1>新建工程,在布局中加入Spinner,指定屬性android:entries為Data
2>創建一個xml資源文件,命名array.xml,在文件中再添加一個字符串數組,名稱Data
3>對Spinner添加監聽。監聽當中有兩個方法,分別是選擇之后和未做選擇的方法
4>運行程序,能夠看到下拉列表,而且有日志輸出
2.通過適配器進行數據適配
給下拉列表指定數據適配器通常需要三個步驟:
1.創建數據適配器,一般采用ArrayAdapter。創建通常使用兩種方法:
1>通過數組資源文件創建
2>java代碼中通過字符串數組創建
2.設置列表下拉選擇樣式
3.將適配器添加給下拉列表
具體操作如下:
1>通過資源文件創建設配器並設置下拉樣式
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Data, android.R.layout.simple_dropdown_item_1line); Spinner s = (Spinner)findViewById(R.id.spinner1); s.setAdapter(adapter);
2>通過字符串數組創建並設置下拉樣式
String [] data = new String[]{"中國","捷克","日本","南京","重慶","成都"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,data); Spinner s = (Spinner)findViewById(R.id.spinner1); s.setAdapter(adapter);
總結:其實說了這么多,本節Spinner下拉框的使用無非着重於下拉框數據的設置:采用xml指定數據源資源文件,或是適配器適配。適配器的定義也有兩種,讀取資源文件,或自行定義數組創建適配器。
水平有限,不足之處請留言!