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

首頁 > 系統 > Android > 正文

Android UI組件Spinner下拉列表詳解

2019-12-12 05:36:45
字體:
來源:轉載
供稿:網友

Spinner下拉列表

該布局對應的關系圖:
這里寫圖片描述

常用屬性:android:entries(指定spinner要顯示的字符串資源。必須是在strings資源文件中定義的字符串資源)android:spinnerMode(spinner的模式,枚舉值有兩個值dialog彈窗顯示和dropdown下拉顯示)android:dropDownWidth(下拉框的寬度,單位通常是dp)android:prompt(當spinnerMode的值是dialog時,彈出的對話框式的下列列表的提示。如果
spinnerMode的值是dropdown時沒有效果。注意:此處的值不能直接使用直接字符串,
必須使用引用(字符串資源))

1.通過entries設置數據項,在values文件夾下的strings中添加數據的值

這里寫圖片描述

在strings.xml中添加一組array數據項,然后通過在entries中設置就可以設置對應的值

<Spinner    android:layout_width="match_parent"    android:entries="@array/data"http://資源文件設置數據    android:layout_height="wrap_content"> </Spinner>

2.設置android:spinnerMode:

<Spinner    android:id="@+id/spinner"    android:layout_width="match_parent"    android:entries="@array/data"    android:spinnerMode="dialog"    android:layout_height="wrap_content">  </Spinner>

值為dialog的顯示為彈框顯示

這里寫圖片描述

值如果為dropdown的顯示如下:

這里寫圖片描述

android:dropDownWidth設置下拉寬度

<Spinner    android:id="@+id/spinner"    android:layout_width="match_parent"    android:entries="@array/data"    android:spinnerMode="dropdown"    android:dropDownWidth="70dp"    android:layout_height="wrap_content">  </Spinner>

效果如下圖:

這里寫圖片描述

數據源的獲取方式:通過ArrayAdapter適配器設置數據數據>

什么是適配器:將控件在加載數據過程中的同樣的部分 抽取為代碼,每次加載的時候都調用這部分代碼,生成
要返回的內容,類似于模具
關于ArrayAdapter簡單介紹下:
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,data);

關于ArrayAdapter構造方法的說明:

1、ArrayAdapter(context, resource, objects)
參數一:上下文對象
參數二:布局文件的id,注意該布局文件有且只能有一個TextView標簽
參數三:原始數據,List集合或數組都可以。
2、ArrayAdapter(context, resource, textViewResourceId, objects)
參數一:上下文對象
參數二:布局文件的id,注意該布局文件中至少有一個TextView標簽
參數三:參數二布局文件中要顯示數據的TextView的id
參數四:原始數據,List集合或數組都可以。

public class MainActivity extends AppCompatActivity {  private String[] data;  private List<String> data1;  private Spinner spinner;  private ArrayAdapter<String> adapter;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.spinner);    spinner = (Spinner)findViewById(R.id.spinner);    data = getResources().getStringArray(R.array.data);    data1 = new ArrayList<>();    for(int i = 1; i < 10; i++){      data1.add("這是第" + i +"個");    }    //data可以修改為data1,數據可以是數組也可以是集合    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,data);    spinner.setAdapter(adapter);  }}

監聽事件

對于Spinner使用的監聽事件為:setOnItemSelectedListener(OnItemSelectedListener listener)

public class SpinnerActivity extends Activity implements OnItemSelectedListener {  /**  * 當item被選中時,會調用此方法  */  public void onItemSelected(AdapterView<?> parent, View view,       int pos, long id) {    // An item was selected. You can retrieve the selected item using    // parent.getItemAtPosition(pos)  }  /**  * 當數據項的值設置為空時,就會調用此方法,通過調用adapter.clear()方法清空數據,并且刷新界面  * 時,會調用次方法  */  public void onNothingSelected(AdapterView<?> parent) {    // Another interface callback  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岫岩| 衡阳县| 平陆县| 东阳市| 太仓市| 成武县| 荣昌县| 红安县| 临颍县| 东平县| 东阿县| 田阳县| 池州市| 淳化县| 泸溪县| 沅江市| 芦溪县| 安远县| 辰溪县| 饶阳县| 涿鹿县| 镇远县| 寻乌县| 武冈市| 太湖县| 厦门市| 祥云县| 迁安市| 宁武县| 池州市| 宜丰县| 潜山县| 崇明县| 霞浦县| 龙岩市| 浪卡子县| 平谷区| 香格里拉县| 方山县| 泾川县| 平远县|