当前位置: 代码迷 >> Android >> 玩转Android-UI篇-Spinner(上拉列表)
  详细解决方案

玩转Android-UI篇-Spinner(上拉列表)

热度:156   发布时间:2016-05-01 15:18:42.0
玩转Android---UI篇---Spinner(下拉列表)

当在某个网站注册账号的时候,网站会让我们提供性别,生日,城市等信息,为了方便,就提供了一个下拉列表供我们选择,在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>

?运行结果:



  相关解决方案