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







