Android中Spinner(下拉框)控件的使用詳解
android給我們提供了一個(gè)spinner控件,這個(gè)控件主要就是一個(gè)列表,那么我們就來(lái)說(shuō)說(shuō)這個(gè)控件吧,這個(gè)控件在以前的也看見(jiàn)過(guò),但今天還是從新介紹一遍吧。
Spinner位于 android.widget包下,每次只顯示用戶選中的元素,當(dāng)用戶再次點(diǎn)擊時(shí),會(huì)彈出選擇列表供用戶選擇,而選擇列表中的元素同樣來(lái)自適配器。Spinner是View類得一個(gè)子類。
1.效果圖
2.創(chuàng)建頁(yè)面文件(main.xml)
<Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tvResult" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="選擇的水果" />
3.創(chuàng)建下拉框的數(shù)據(jù)源
List<String> list = new ArrayList<String>(); list.add("蘋果"); list.add("香蕉"); list.add("橘子"); list.add("香蕉");
4.創(chuàng)建適配器(下拉框的數(shù)據(jù)源是來(lái)自適配器)
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);
5.為適配器添加樣式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
系統(tǒng)提供的樣式如下
simple_spinner_dropdown_item(列表-間距較高比較好看)
simple_spinner_item(列表-間距緊湊不好看)
simple_list_item_checked(復(fù)選框-選中的有綠溝)
simple_list_item_single_choice (單選按鈕)
6.向控件Spinner添加適配器
Spinner sp=(Spinner) findViewById(R.id.spinner1); sp.setAdapter(adapter);
釋義
1. setAdapter(SpinnerAdapter adapter) ,從類的繼承關(guān)系上看,ArrayAdapter是SpinnerAdapter接口的間接實(shí)現(xiàn)類
7.實(shí)現(xiàn)選擇項(xiàng)事件(使用匿名類實(shí)現(xiàn)接口)
sp.setOnItemSelectedListener(new OnItemSelectedListener() { // parent: 為控件Spinner view:顯示文字的TextView position:下拉選項(xiàng)的位置從0開(kāi)始 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { TextView tvResult = (TextView) findViewById(R.id.tvResult); //獲取Spinner控件的適配器 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter(); tvResult.setText(adapter.getItem(position)); } //沒(méi)有選中時(shí)的處理 public void onNothingSelected(AdapterView<?> parent) { } });
8.后臺(tái)整體代碼如下
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); List<String> list = new ArrayList<String>(); list.add("蘋果"); list.add("香蕉"); list.add("橘子"); list.add("香蕉"); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice); Spinner sp = (Spinner) findViewById(R.id.spinner1); sp.setAdapter(adapter); sp.setOnItemSelectedListener(new OnItemSelectedListener() { // parent: 為控件Spinner view:顯示文字的TextView position:下拉選項(xiàng)的位置從0開(kāi)始 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { TextView tvResult = (TextView) findViewById(R.id.tvResult); //獲取Spinner控件的適配器 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter(); tvResult.setText(adapter.getItem(position)); } //沒(méi)有選中時(shí)的處理 public void onNothingSelected(AdapterView<?> parent) { } }); }
以上所述是小編給大家介紹的Android中Spinner(下拉框)控件的使用詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android RecyclerView設(shè)置下拉刷新的實(shí)現(xiàn)方法
這篇文章主要介紹了Android RecyclerView設(shè)置下拉刷新的實(shí)現(xiàn)方法,希望通過(guò)本文通過(guò)SwipeRefreshLayout方式實(shí)現(xiàn)下拉刷新,需要的朋友可以參考下2017-10-10Android xUtils更新到3.0后的基本使用規(guī)則詳解
xUtils是基于android的開(kāi)發(fā)框架,簡(jiǎn)化了很多的開(kāi)發(fā)步驟,可以說(shuō)是非常好的開(kāi)發(fā)工具。下面小編給大家?guī)?lái)了Android xUtils更新到3.0后的基本使用規(guī)則詳解,感興趣的朋友一起學(xué)習(xí)吧2016-08-08Android開(kāi)發(fā)從相冊(cè)中選取照片的示例代碼
這篇文章主要介紹了Android開(kāi)發(fā)從相冊(cè)中選取照片的示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09