97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見教育科技集團(tuán) >> 新聞動(dòng)態(tài) >> Android資料 >> Android系統(tǒng)控件Spinner  
 
Android系統(tǒng)控件Spinner
分享到:

Android系統(tǒng)控件CheckBox是一個(gè)同時(shí)可以選擇多個(gè)選項(xiàng)的控件;而RadioButton則是僅可以選擇一個(gè)選項(xiàng)的控件;RadioGroup是RadioButton的承載體,程序運(yùn)行時(shí)不可見,應(yīng)用程序中可能包含一個(gè)或多個(gè)RadioGroup,一個(gè)RadioGroup包含多個(gè)RadioButton,在每個(gè)RadioGroup中,用戶僅能夠選擇其中一個(gè)RadioButton。

下面就通過一個(gè)例子來加深對(duì)Spinner的理解。


圖1 Spinner效果圖

1.建立一個(gè)程序“SpinnerDemo”

程序包含3個(gè)子項(xiàng),Spinner控件在XML文件中的代碼如代碼清單1所示。

代碼清單1 main.xml

<TextView android:id="@+id/TextView01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello"/>
    <Spinner android:id="@+id/Spinner01"
    android:layout_width="300dip"
    android:layout_height="wrap_content">
    </Spinner>

在上述代碼中,第5行使用標(biāo)簽聲明了一個(gè)Spinner控件;第6行代碼中指定了該控件的寬度為“300dip”。

2.修改SpinnerDemo.java文件

在SpinnerDemo.java文件中,定義一個(gè)ArrayAdapter適配器,在ArrayAdapter中添加Spinner的內(nèi)容,需要在代碼中引入android.widget.ArrayAdapter和android.widget.Spinner。

代碼清單2 SpinnerDemo.java

Spinner spinner = (Spinner) findViewById(R.id.Spinner01);
    List<String> list = new ArrayList<String>();
    list .add("Spinner子項(xiàng)1");
    list .add("Spinner子項(xiàng)2");
    list .add("Spinner子項(xiàng)3");
    ArrayAdapter adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, list );
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

本段代碼中,第2行代碼建立了一個(gè)字符串?dāng)?shù)組列表(ArrayList),這種數(shù)組列表可以根據(jù)需要進(jìn)行增減,表示數(shù)組列表中保存的是字符串類型的數(shù)據(jù)。

在代碼的第3、4、5行中,使用add()方法分別向數(shù)組列表中添加3個(gè)字符串。

第6行代碼建立了一個(gè)ArrayAdapter的數(shù)組適配器,數(shù)組適配器能夠?qū)⒔缑婵丶偷讓訑?shù)據(jù)綁定在一起。

第7行代碼設(shè)定了Spinner的浮動(dòng)菜單的顯示方式,其中,android.R.layout.simple_ spinner_dropdown_item是Android系統(tǒng)內(nèi)置的一種浮動(dòng)菜單。

第8行代碼實(shí)現(xiàn)綁定過程,所有ArrayList中的數(shù)據(jù),將顯示在Spinner的浮動(dòng)菜單中。

利用該段代碼,適配器綁定界面控件和底層數(shù)據(jù),如果底層數(shù)據(jù)更改了,用戶界面也相應(yīng)修改顯示內(nèi)容,因此不需要應(yīng)用程序再監(jiān)視,從而極大地簡化了代碼的復(fù)雜性。

由上述例子可以得出結(jié)論:與Android系統(tǒng)控件CheckBox和RadioButton相比,Sipnner需要的工作量大,但可以為用戶提供相對(duì)來說較好的屏幕顯示。如上所示,Spinner顯示當(dāng)前選中的選項(xiàng),當(dāng)單擊右側(cè)的下拉列表時(shí),彈出一個(gè)可供選擇的選項(xiàng)列表。為了實(shí)現(xiàn)該功能需滿足以下條件。

(1)創(chuàng)建一個(gè)可供選擇的選項(xiàng)列表(該列表可以是動(dòng)態(tài)創(chuàng)建并被應(yīng)用程序修改)。

(2)為Spinner的列表創(chuàng)建一個(gè)ArrayAdapter以實(shí)現(xiàn)其下拉列表的顯示。這里需注意ArrayAdapter的格式(simple_spinner_item和simple_spinner_dropdown_item)是由Android系統(tǒng)定義的,它們不會(huì)出現(xiàn)在資源XML文件中。

(3)創(chuàng)建onItemSelectedListener來捕捉Spinner的選擇事件。監(jiān)聽onItemSelected Listener包含onItemSelected()方法和onNothingSelected()方法。

 更多相關(guān)文章

·Android系統(tǒng)控件CheckBox 和 RadioButton
·Android系統(tǒng)控件Button 和 ImageButton
·Android系統(tǒng)控件TextView和EditText
·Android界面布局之絕對(duì)布局
·Android 控件動(dòng)畫效果的實(shí)現(xiàn)