Android Spinner的簡單用法。


今天學到的是spinner,就是下拉列表,這可不是ExpandListView哈。

閑話不解釋。這是控件,所以先上布局:就不上線性布局了,基本上可以總結出,控件都得在布局里寫,寫之前嵌個布局就行。

<Spinner

    android:layout_height="wrap_content" 

    android:layout_width="match_parent"

    android:entries="@array/spinner_arr"     這邊介紹下,這是下拉列表的各個列表的數據,這是給第二個簡單的列表寫法用的,我們現在講的是自己寫自己的列表數據

    android:prompt="@string/spinner_prompt"   這個是下拉列表的標題,不能在這直接寫字符串,得到Values里的string里寫好,再調用

    android:spinnerMode="dialog"   有兩種方式,dialog和dropdown,一個是對話框,一個是下拉框。

    android:id="@+id/sp1"/>

 

這個是在Values里頭創建的一個array:

<?xml version="1.0" encoding="UTF-8"?>

-<resources>

-<string-array name="spinner_arr">

<item>星期一</item>

<item>星期二</item>

<item>星期三</item>

<item>星期四</item>

<item>星期五</item>

<item>星期六</item>

<item>星期日</item>

</string-array>

</resources>

 

然后這邊就先在drawable里創建幾張圖片

 

 再搞個布局來給下拉列表里的列表

 

 

這邊和ExpandListView差不多,我們得寫個適配器,

 

 

 

 

 

 

 會不會奇怪,為啥List有個Person。其實就是自己寫個封裝的類

 

 

 這邊就是創了兩個變量,一個是圖片id,一個是文本。

然后就是主活動里添加適配器,前面的學習自己寫適配器已經游刃有余。

 

 

其實下拉列表有三個監聽,但是聽學長說,只有這個才真的有用,其他兩個沒太大意義。

這邊里面的東西應該都好懂,先連接適配器,然后創建setOnItemSelectedListener,在里頭寫好監聽方法,然后new一個Person對象,position還是簡單吧?

這就是所選的下標,我們就是直接把列表點擊的位置的信息存下,因為list本就是存person類型的。

再把信息提示出來。

圖片和對應的文字都是布局里的,在適配器getView里面已經調用布局了。

 

 

 

 

 

 

 

 

這是比較成熟的方法吧,前面還講過兩個簡單列表的寫法:

 

private String[] arr;

 

 

還記得布局里的entries吧,它就是給列表輸入信息的,我們當時是直接調用values里自己創建的array,,有點像數據庫的調用,就是寫好數據,再調用,這樣局限性比較大。寫法比較簡單吧。

 
        
arr = getResources().getStringArray(R.array.spinner_arr);就是獲取資源,獲取字符串數組,在哪?在array里的spinner_arr.

就這么簡單。


下面這種也是用適配器,但是我們不自定義適配器,而是使用現有的

 

 

 

 其實我對這個適配器一點都不了解,網上百度了好久,也是一點不了解,那些人的思想我不懂,比較難受。

反正簡單用法就這樣,,個人理解就是,

創建時的三個參數。第一個上下文是本身,那個很長的布局路徑其實就是一個文本的布局,但是大費周章的這樣,咱也不懂,后面的就是添加一個列表進去。

下面調用的那個冗長的setDropDownViewResource就是給它傳遞一個下拉列表的布局,也是一個文本布局控件,好像就是邊距大了點吧。

最后用下拉列表連接適配器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM