首頁  >  文章  >  後端開發  >  Android UI控制系列:Spinner(下拉清單)

Android UI控制系列:Spinner(下拉清單)

黄舟
黄舟原創
2017-01-19 09:51:031304瀏覽

當在某個網站註冊帳號的時候,網站會讓我們提供性別,生日,城市等信息,為了方便,就提供了一個下拉列表供我們選擇,在Android也同樣有這樣的功能,這就是Spinner下拉清單

在編碼的同時,首先需要在佈局中定時Spinner元件,然後將可選內容透過ArrayAdapter和下拉清單連接起來,最後要獲得使用者選擇的選項,我們需要設計事件監聽器setOnItemSelectedListener並實現onItemSelected,從而取得使用者選擇的內容,最後透過setVisibility方法設定目前的顯示項目

SpinnerTest.java

package org.hualang.Spinner;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class SpinnerTest extends Activity {
    /** Called when the activity is first created. */
        private static final String[] citys={"杭州","北京","成都","大连","深圳","南京"};
        private TextView text;
        private Spinner spinner;
        private ArrayAdapter<String> adapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        text=(TextView)findViewById(R.id.text);
        spinner=(Spinner)findViewById(R.id.spinner);

        //将可选内容与ArrayAdapter连接
        adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);
        //设置下拉列表风格
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //将adapter添加到spinner中
        spinner.setAdapter(adapter);
        //添加Spinner事件监听
        spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
        {

                        @Override
                        public void onItemSelected(AdapterView<?> arg0, View arg1,
                                        int arg2, long arg3) {
                                // TODO Auto-generated method stub
                                text.setText("你所在的城市是:"+citys[arg2]);
                                //设置显示当前选择的项
                                arg0.setVisibility(View.VISIBLE);
                        }

                        @Override
                        public void onNothingSelected(AdapterView<?> arg0) {
                                // TODO Auto-generated method stub

                        }

        });
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    >  
<TextView  
        android:id="@+id/text"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:text="您所在的城市"  
    />  
<Spinner  
        android:id="@+id/spinner"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_centerHorizontal="true"  
/>  
</LinearLayout>

運行結果:

(下拉清單)的內容,更多相關內容請關注PHP中文網(www.php.cn)!

Android UI控制系列:Spinner(下拉清單)

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn