Android中Spinner(下拉框)控件的使用詳解
android給我們提供了一個(gè)spinner控件,這個(gè)控件主要就是一個(gè)列表,那么我們就來說說這個(gè)控件吧,這個(gè)控件在以前的也看見過,但今天還是從新介紹一遍吧。
Spinner位于 android.widget包下,每次只顯示用戶選中的元素,當(dāng)用戶再次點(diǎn)擊時(shí),會(huì)彈出選擇列表供用戶選擇,而選擇列表中的元素同樣來自適配器。Spinner是View類得一個(gè)子類。
1.效果圖
2.創(chuàng)建頁面文件(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ù)源是來自適配器)
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開始
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));
}
//沒有選中時(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開始
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));
}
//沒有選中時(shí)的處理
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
以上所述是小編給大家介紹的Android中Spinner(下拉框)控件的使用詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android中實(shí)現(xiàn)毛玻璃效果的3種方法
這篇文章主要介紹了Android中實(shí)現(xiàn)毛玻璃效果的3種方法,本文講解了使用系統(tǒng)提供的方法、自定義的方法、C語言實(shí)現(xiàn)方法等3種方法,需要的朋友可以參考下2015-04-04
PopupWindow+RecyclerView實(shí)現(xiàn)上下滑動(dòng)框功能
這篇文章主要為大家詳細(xì)介紹了PopupWindow+RecyclerView實(shí)現(xiàn)上下滑動(dòng)框功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
一鍵移除ButterKnife并替換為ViewBinding的舊項(xiàng)目拯救
這篇文章主要為大家介紹了一鍵移除ButterKnife并替換為ViewBinding的舊項(xiàng)目拯救詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
深入理解TextView實(shí)現(xiàn)Rich Text--在同一個(gè)TextView設(shè)置不同字體風(fēng)格
本篇文章是對(duì)Android中在同一個(gè)TextView中設(shè)置不同的字體風(fēng)格進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Android 圖片縮放與旋轉(zhuǎn)的實(shí)現(xiàn)詳解
本篇文章是對(duì)在Android中實(shí)現(xiàn)圖片縮放與旋轉(zhuǎn)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
android上的一個(gè)網(wǎng)絡(luò)接口和圖片緩存框架enif簡(jiǎn)析
android上的一個(gè)網(wǎng)絡(luò)接口和圖片緩存框架enif詳細(xì)介紹:底層網(wǎng)絡(luò)接口采用apache的httpclient連接池框架、圖片緩存采用基于LRU的算法等等,需要了解的朋友可以詳細(xì)參考下2012-12-12







