Android系統自帶Spinner+Adapter基礎
阿新 • • 發佈:2019-01-04
屬性:android:spinnerMode="" 下拉選單的展示方式
屬性值:dropdown-下拉方式(預設的) dialog-對話方塊方式
如果下拉方式是dialog,那麼可以指定標題android:prompt="@string/title"(只能引用,不能直接寫文字)
android:entries="@array/books" 填充下拉選單的內容
填充方式
1.屬性填充:資料來源不會經常發生變化,使用該方式
在xml檔案中定義資料來源,然後在spinner中通過屬性呼叫
2.使用ArrayAdapter填充資料
適用於:item只有一個文字,不能顯示圖片
資料來源:自定義陣列或list
步驟:a.得到控制元件並初始化 b.得到資料來源 c.得到介面卡
第一種方式 資料來源是String[] 三個引數 , 在這個Activity中有2個頁面
/**
* context 上下文物件
* resource 每個Item的佈局檔案(檔案中只能有一個TextView控制元件,沒有佈局和其他控制元件)
* objects 資料來源
*/
ArrayAdapter adapter = new ArrayAdapter(
this,
android.R.layout.simple_spinner_item,
data);
第二種方式 資料來源是String[] 四個引數 /** * context 上下文物件 * resource 每個Item的佈局檔案(可以有佈局,但是必須有TextView控制元件) * textViewResourceId 佈局檔案中的TextView的ID * objects 資料來源 * */ ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, R.layout.spinner_item_02, R.id.tv, data); 第三種方式 資料來源List<String> 三個引數 在這個Activity中有2個頁面 /** * context 上下文物件 * resource 每個Item的佈局檔案(檔案中只能有一個TextView控制元件,沒有佈局和其他控制元件) * objects 資料來源 */ ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.simple_spinner_item, data); 第四種方式 資料來源是List<String> 四個引數 /** * context 上下文物件 * resource 每個Item的佈局檔案(可以有佈局,但是必須有TextView控制元件) * textViewResourceId 佈局檔案中的TextView的ID * objects 資料來源 * */ ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, R.layout.spinner_item_02, R.id.tv, data);
3, 使用SimpleAdapter 填充資料
適用場景 圖文混排,圖片來自本地
資料來源 List<Map<String,Object>> 步驟: 1, 控制元件, 得到控制元件並且初始化 2, 得到資料來源 3, 得到介面卡 4, 為控制元件設定介面卡 /** * context 上下文物件 * data 資料來源 * resource 每個Item的佈局頁面 * from String[] 資料來源中key的陣列 * to int[] 佈局頁面中id的陣列 */ SimpleAdapter adapter = new SimpleAdapter( this, data, R.layout.spinner_item, new String[]{"icon","name","age"}, new int[]{R.id.icon,R.id.name,R.id.age});
作者:哇樓主
連結:https://www.jianshu.com/p/f548264d970a