中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中如何使用Spinner實現一個列表選擇框

發布時間:2022-04-15 16:16:10 來源:億速云 閱讀:343 作者:iii 欄目:編程語言

這篇“Android中如何使用Spinner實現一個列表選擇框”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Android中如何使用Spinner實現一個列表選擇框”文章吧。

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 事件,這是因為系統會自動加載默認值造成的。

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

//在事件注冊之前調用,一般指定第0個為默認值
spinner.setSelection(0, true);

以上就是關于“Android中如何使用Spinner實現一個列表選擇框”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武胜县| 丹东市| 扎赉特旗| 盐山县| 信丰县| 梓潼县| 维西| 晋州市| 高唐县| 和政县| 乌兰浩特市| 柘荣县| 沛县| 运城市| 宿松县| 克山县| 当涂县| 化德县| 玛纳斯县| 道孚县| 郯城县| 兖州市| 蒙城县| 体育| 郸城县| 班戈县| 军事| 青阳县| 修武县| 彭山县| 宝鸡市| 沙雅县| 友谊县| 屯留县| 乌审旗| 安国市| 长白| 石泉县| 芒康县| 江津市| 镇平县|