下拉式清單方塊也是一種常見的圖形組件,它可以為使用者提供列表的選則方式,與複選框或單選鈕相比還可以節省手機的螢幕空間,在Android中可以使用android.widget.Spinner類實現,此類定義如下:java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.AdapterView ? android.widget.AbsSpinner ? android.widget.Spinner
| No. |
方法 |
類型 |
描述 |
| 1 |
public CharSequence getPrompt () |
普通 |
取得提示文字 |
| 2 |
public void setPrompt (CharSequence prompt) |
普通 |
設定組件的提示文字 |
| 3 |
public void setAdapter (SpinnerAdapter adapter) |
普通 |
設定下拉式清單項 |
| 4 |
public void setOnItemClickListener(AdapterView.OnItemClickListener l) |
普通 |
設定選項單擊事件 |
…………………………………………………………毫無美感的分割線…………………………………………………………
配置Strings.xml
Hewwlo World Settings Hello world! 河南 北京 上海 請選擇您的城市
在Android中,可以直接在main.xml檔案中定義“”節點,但是在定義此元素的時候卻不能直接設定其顯示的清單項目,關於下拉式清單方塊中的清單項目有以下兩種方式進行配置:
方式一:直接通過資源檔配置;
方式二:通過android.widget.ArrayAdapter類讀取資源檔或者是指定具體設定的資料; 接下來先看第一種。
這個時候定義的是一個“string-array”的根節點,表示裡面配置的是一個數組的集合,而裡面的每一個“”節點表示的就是每一個清單項目的內容,隨後在layout/main.xml檔案定義“”節點的時候直接使用“android:entries="@array/
city_labels"”屬性就可以讀取資訊了。
//設定提示文字
運行程式vcXk1sO88rWlstnX99Kysru07aOstavKx9Tav6q3orXEwem77tDUyc/T0NK7tqi1xL7Wz97Q1KGjCqGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtusHO3sPAuNC1xLfWuO7P36Gtoa2hraGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtoa2hraGtPGJyPgoKtdq2/tbWt73KvQqyvL7WzsS8/go8cHJlIGNsYXNzPQ=="brush:java;"> JAVA檔案
package com.example.hewwloworld;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.Spinner;public class MainActivity extends Activity {private Spinner city=null;//初始化Spinnerprivate ArrayAdapter adaptercity=null;//初始化ArrayAdapter@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_main);this.city=(Spinner)super.findViewById(R.id.mycity);//取得組件this.city.setPrompt("請選擇您的城市");//設定提示文字this.adaptercity=ArrayAdapter.createFromResource(this, R.array.city_name, android.R.layout.simple_spinner_item);//設定下拉選項及下拉式清單格式this.adaptercity.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//設定按下選項列表格式
this.city.setAdapter(adaptercity);//配置adapter}}
效果和第一種方式是一樣的。
當然通過集合配置也是可以完成同樣的功能。package com.example.hewwloworld;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.Spinner;public class MainActivity extends Activity {private Spinner city=null;private List city_name=null;private ArrayAdapter adaptercity=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_main);this.city=(Spinner)super.findViewById(R.id.mycity);this.city_name=new ArrayList();city_name.add("河南");city_name.add("上海");city_name.add("北京");this.city.setPrompt("請選擇您的家鄉");this.adaptercity=new ArrayAdapter(this, android.R.layout.simple_spinner_item,city_name);this.adaptercity.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);this.city.setAdapter(adaptercity);this.city.setAdapter(adaptercity);}}
Spinner的使用比前面的稍微多了一點東西,不過大家好好看看句都能看懂。下節預報:ImageView和ImageButton的使用