Android組件實(shí)現(xiàn)列表選擇框功能
android提供的列表選擇框(Spinner)相當(dāng)于web端用戶注冊(cè)時(shí)的選擇下拉框,比如注冊(cè)候選擇省份城市等。如下圖便是一個(gè)列表選擇框
下拉列表的列表選擇項(xiàng)能夠通過(guò)xml文件的android:entries屬性指定,或是在java代碼中導(dǎo)入,屬性android:prompt是列表項(xiàng)的標(biāo)題。
一 列表項(xiàng)數(shù)據(jù):
實(shí)際運(yùn)用當(dāng)中,很多下拉列表項(xiàng)的數(shù)據(jù)實(shí)際是可知的,可以放在xml資源文件中。這時(shí),開發(fā)者可以通過(guò)xml屬性進(jìn)行指定數(shù)據(jù)。
除了資源文件之外,開發(fā)者還能夠使用適配器適配數(shù)據(jù)源。(適配器:如果您的電腦不能接收藍(lán)牙信號(hào),你可以安裝藍(lán)牙適配器用來(lái)接收藍(lán)牙信號(hào)。功能就是把不符合自己的信號(hào)或數(shù)據(jù)轉(zhuǎn)化符合自己的形式)
二 關(guān)于監(jiān)聽
用戶在下拉列表進(jìn)行選擇以后,程序需要進(jìn)行相應(yīng)的相應(yīng)處理,這就需要監(jiān)聽器。列表選擇框的監(jiān)聽器是OnItemSelectedListener(),開發(fā)者重寫OnItemSelected()方法。
三 案例操作
1.創(chuàng)建一個(gè)資源文件配置的列表選擇框
1>新建工程,在布局中加入Spinner,指定屬性android:entries為Data
2>創(chuàng)建一個(gè)xml資源文件,命名array.xml,在文件中再添加一個(gè)字符串?dāng)?shù)組,名稱Data
3>對(duì)Spinner添加監(jiān)聽。監(jiān)聽當(dāng)中有兩個(gè)方法,分別是選擇之后和未做選擇的方法
4>運(yùn)行程序,能夠看到下拉列表,而且有日志輸出
2.通過(guò)適配器進(jìn)行數(shù)據(jù)適配
給下拉列表指定數(shù)據(jù)適配器通常需要三個(gè)步驟:
1.創(chuàng)建數(shù)據(jù)適配器,一般采用ArrayAdapter。創(chuàng)建通常使用兩種方法:
2.設(shè)置列表下拉選擇樣式
3.將適配器添加給下拉列表
具體操作如下:
1>通過(guò)資源文件創(chuàng)建設(shè)配器并設(shè)置下拉樣式
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Data, android.R.layout.simple_dropdown_item_1line); Spinner s = (Spinner)findViewById(R.id.spinner1); s.setAdapter(adapter);
2>通過(guò)字符串?dāng)?shù)組創(chuàng)建并設(shè)置下拉樣式
String [] data = new String[]{"中國(guó)","捷克","日本","南京","重慶","成都"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,data); Spinner s = (Spinner)findViewById(R.id.spinner1); s.setAdapter(adapter);
總結(jié):其實(shí)說(shuō)了這么多,本節(jié)Spinner下拉框的使用無(wú)非著重于下拉框數(shù)據(jù)的設(shè)置:采用xml指定數(shù)據(jù)源資源文件,或是適配器適配。適配器的定義也有兩種,讀取資源文件,或自行定義數(shù)組創(chuàng)建適配器。
以上所述是小編給大家介紹的Android組件實(shí)現(xiàn)列表選擇框功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Flutter沉浸式狀態(tài)欄/AppBar導(dǎo)航欄/仿咸魚底部凸起導(dǎo)航欄效果
這篇文章主要介紹了Flutter沉浸式狀態(tài)欄/AppBar導(dǎo)航欄/仿咸魚底部凸起導(dǎo)航欄效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04RecyclerView焦點(diǎn)跳轉(zhuǎn)BUG優(yōu)化的方法
這篇文章主要介紹了RecyclerView焦點(diǎn)跳轉(zhuǎn)BUG優(yōu)化的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Android?無(wú)障礙服務(wù)?performAction?調(diào)用過(guò)程分析
這篇文章主要介紹了Android?無(wú)障礙服務(wù)?performAction?調(diào)用過(guò)程分析,無(wú)障礙服務(wù)可以模擬一些用戶操作,無(wú)障礙可以處理的對(duì)象,通過(guò)類?AccessibilityNodeInfo?表示,通過(guò)無(wú)障礙服務(wù),可以通過(guò)它的performAction方法來(lái)觸發(fā)一些action2022-06-06Flutter 狀態(tài)管理scoped model源碼解讀
這篇文章主要為大家介紹了Flutter 狀態(tài)管理scoped model源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11android中LinearLayoutManager一鍵返回頂部示例
本篇文章主要介紹了android中LinearLayoutManager一鍵返回頂部,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02Android通過(guò)記住密碼功能學(xué)習(xí)數(shù)據(jù)存儲(chǔ)類SharedPreferences詳解及實(shí)例
這篇文章主要通過(guò)“記住密碼”實(shí)例功能學(xué)習(xí)為大家介紹了Android數(shù)據(jù)存儲(chǔ)類SharedPreferences,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03Android實(shí)現(xiàn)View滑動(dòng)效果的6種方法
這篇文章主要介紹了Android實(shí)現(xiàn)View滑動(dòng)的6種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03Android 修改Preferences默認(rèn)樣式的步驟
這篇文章主要介紹了Android 修改Preferences默認(rèn)樣式的步驟,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下2021-04-04