在Web開發中,HTML提供了下拉列表的實現,就是使用<select>元素實現一個下拉列表,在其中每個下拉列表項使用<option>表示即可。這是在Web開發中一個必不可少的交互性組件,而在Android中的對應實現就是Spinner。
方法一:
以資源方式,靜態展示 Spinner 選項:
<Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spinner2" android:entries="@array/spingarr" />
數據文件:
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="spingarr"> <item>北京</item> <item>上海</item> <item>廣州</item> <item>深圳</item> </string-array></resources>
用法 2 :
以代碼方式,動態展示 Spinner 選項,用適配器給Spinner添加數據
package com.example.testspanner;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 spinner;private List<String> data_list;private ArrayAdapter<String> arr_adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.spinner); spinner = (Spinner) findViewById(R.id.spinner); //數據 data_list = new ArrayList<String>(); data_list.add("北京"); data_list.add("上海"); data_list.add("廣州"); data_list.add("深圳"); //適配器 arr_adapter= new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_list); //設置樣式 arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //加載適配器 spinner.setAdapter(arr_adapter); }}布局文件增加:
<Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spinner" />
最后再說一下怎么監聽該控件吧。
mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {//選擇item的選擇點擊監聽事件 public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub // 將所選mySpinner 的值帶入myTextView 中 myTextView.setText("您選擇的是:" + arg2+"個");//文本說明 } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub myTextView.setText("Nothing"); } }); 總結
以上所述是小編給大家介紹的Android控件Spinner實現下拉列表及監聽功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答