您好,登錄后才能下訂單哦!
這篇簡(jiǎn)單介紹下Android中下拉列表Spinner的用法,話不多說(shuō),先上圖
布局文件中的spinner.xml如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget28" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 文字一般用sp作為長(zhǎng)度單位 --> <TextView android:id="@+id/TextView_Show" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="可以開(kāi)始選擇所在城市了。" android:textSize="25sp"/> <Spinner android:id="@+id/spinner_City" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
數(shù)據(jù)源arrays.xml(防止硬編碼)如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="cities"> <item>北京</item> <item>上海</item> <item>廣州</item> <item>深圳</item> <item>杭州</item> <item>成都</item> <item>大連</item> <item>南京</item> </string-array> </resources>
主程序中的SpinnerActivity.java如下
public class SpinnerActivity extends Activity { //方式一 聲明cities字符串?dāng)?shù)組,為Spinner的下拉列表預(yù)定義數(shù)據(jù): //方式一 private static final String[] cities={"北京","上海","廣州","深圳","杭州","成都","大連","南京"}; private TextView text; private Spinner spinner; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.spinner); text=(TextView)findViewById(R.id.TextView_Show); spinner=(Spinner)findViewById(R.id.spinner_City); //實(shí)例化ArrayAdapter: //方式一 ArrayAdapter<String> adapter =new ArrayAdapter<String>( //方式一 this, //方式一 android.R.layout.simple_spinner_item, //方式一 cities); ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource( this, R.array.cities, android.R.layout.simple_spinner_item); //String類(lèi)型是CharSequence接口的實(shí)現(xiàn) //構(gòu)建適配器為L(zhǎng)istView綁定數(shù)據(jù) //設(shè)置Spinner的下拉列表顯示樣式 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //將adapter添加到spinner中 spinner.setAdapter(adapter); //設(shè)置Spinner的一些屬性 spinner.setPrompt("請(qǐng)選擇城市:");//prompt:提示 spinner.setSelection(0,true); //添加Spinner事件監(jiān)聽(tīng) spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) { //方式一 text.setText("你所在的城市是:"+cities[arg2]); //arg0是適配器視圖對(duì)象,這里指下拉列表視圖。AdapterView 是內(nèi)容由適配器來(lái)決定的視圖類(lèi),<?>是適配器里內(nèi)容的類(lèi)型。 //arg1是適配器視圖里的被點(diǎn)擊的對(duì)象(即被選中的那一項(xiàng)),arg2被選中項(xiàng)的位置,arg3選中項(xiàng)所在行的行ID號(hào) text.setText("你所在的城市是:"+arg0.getItemAtPosition(arg2).toString()); //設(shè)置顯示當(dāng)前選擇的項(xiàng) arg0.setVisibility(View.VISIBLE); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } }
這里有個(gè)小技巧:自動(dòng)導(dǎo)入所需包的快捷鍵shift+ctrl+o
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。