您好,登錄后才能下訂單哦!
這篇簡單介紹下Android中下拉列表Spinner的用法,話不多說,先上圖
布局文件中的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作為長度單位 --> <TextView android:id="@+id/TextView_Show" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="可以開始選擇所在城市了。" android:textSize="25sp"/> <Spinner android:id="@+id/spinner_City" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
數據源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字符串數組,為Spinner的下拉列表預定義數據: //方式一 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); //實例化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類型是CharSequence接口的實現 //構建適配器為ListView綁定數據 //設置Spinner的下拉列表顯示樣式 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //將adapter添加到spinner中 spinner.setAdapter(adapter); //設置Spinner的一些屬性 spinner.setPrompt("請選擇城市:");//prompt:提示 spinner.setSelection(0,true); //添加Spinner事件監聽 spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) { //方式一 text.setText("你所在的城市是:"+cities[arg2]); //arg0是適配器視圖對象,這里指下拉列表視圖。AdapterView 是內容由適配器來決定的視圖類,<?>是適配器里內容的類型。 //arg1是適配器視圖里的被點擊的對象(即被選中的那一項),arg2被選中項的位置,arg3選中項所在行的行ID號 text.setText("你所在的城市是:"+arg0.getItemAtPosition(arg2).toString()); //設置顯示當前選擇的項 arg0.setVisibility(View.VISIBLE); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } }
這里有個小技巧:自動導入所需包的快捷鍵shift+ctrl+o
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。