国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 列表選擇框 Spinner詳解及實例

2019-10-22 18:35:05
字體:
來源:轉載
供稿:網友

Android 列表選擇框 Spinner詳解及實例

Spinner 是 Android 的列表選擇框,不過 spinner 并不需要顯示下拉列表,而是相當于彈出一個菜單供用戶選擇。

Spinner 屬性:

● android:spinnerMode:列表顯示的模式,有兩個選擇,為彈出列表(dialog)以及下拉列表(dropdown),如果不特別設置,為下拉列表。
● android:entries:使用<string-array.../>資源配置數據源。
● android:prompt:對當前下拉列表設置標題,僅在dialog模式下有效。傳遞一個“@string/name”資源,需要在需要在資源文件中定義<string.../>。

Spinner 常用事件:

● AdapterView.OnItemCLickListener:列表項被點擊時觸發。
● AdapterView.OnItemLongClickListener:列表項被長按時觸發。
● AdapterView.OnItemSelectedListener:列表項被選擇時觸發。

Spinner 數據綁定:

● 使用xml設置數組資源,簡單方便但是不靈活,如果只是顯示固定的簡單數據可以使用。
● 使用 adapter 接口設置,最常見的方式,動態加載靈活,可以設置各種樣式和數據來源。

XML 文件結構(一般寫在string.xml文件中)

<resource> <string-array name="arrayname">  <item>item1</item>  <item>item2</item>  <item>item3</item> </string-array><resource>

對于簡單的數據可以使用 ArrayAdapter 來設置適配器,但是對于稍微復雜的數據 ArrayAdapter 就無法滿足需求了,這時需要使用 SimpleAdapter 來做適配。

SimpleAdapter 適配器同樣基礎自 Adapter,他可以映射靜態的 XML 格式的布局文件到視圖中。可以指定 List<Map<P,T>> 格式數據,list 的數據對應 Spinner 中的每一行,Map 中的數據對應沒一條數據 mSpinner = (Spinner)findViewById(R.id.sp_bank);

mSpinner = (Spinner)findViewById(R.id.sp_bank);banklist = (List<String>) resultMap.get("list"); //將可選內容與ArrayAdapter連接起來adapter = new ArrayAdapter<String>(self, R.layout.simple_spinner_item, banklist); //設置下拉列表的風格adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //將adapter 添加到spinner中mSpinner.setAdapter(adapter); //添加事件Spinner事件監聽mSpinner.setOnItemSelectedListener(new SpinnerSelectedListener());
class SpinnerSelectedListener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {  String str = parent.getItemAtPosition(position).toString();  //Toast.makeText(self, "你點擊的是:"+str, 2000).show();  bankname = str; } public void onNothingSelected(AdapterView<?> arg0) { }}

Spinner 彈出列表事件上是 listview,所以 listview 的各種方法都可以用在 Spinner 彈出窗口這里,當時也可以自定義數據源,自定義 Adapter 繼承 BaseAdapter 實現更為靈活更為復雜的效果。

Spinner 在初始化時會自動調用一次 OnItemSelectedListener 事件,這是因為系統會自動加載默認值造成的。

解決方法:手動添加默認值,這里需要主要調用順序,必須在注冊方法之前調用。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵武市| 大安市| 宁河县| 留坝县| 延庆县| 宽甸| 墨脱县| 哈巴河县| 黄平县| 颍上县| 宁津县| 六盘水市| 浦城县| 太湖县| 宁国市| 丁青县| 宁蒗| 宜章县| 嘉祥县| 崇信县| 广饶县| 通道| 青河县| 犍为县| 阜新市| 黑龙江省| 吴旗县| 阿坝县| 屏山县| 乐业县| 建始县| 崇阳县| 马鞍山市| 龙山县| 文成县| 龙井市| 姜堰市| 普格县| 长顺县| 湖北省| 蒙自县|