首页  >  文章  >  后端开发  >  Android UI控件系列:Spinner(下拉列表)

Android UI控件系列:Spinner(下拉列表)

黄舟
黄舟原创
2017-01-19 09:51:031338浏览

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

运行结果:

393.gif

394.gif

以上就是Android UI控件系列:Spinner(下拉列表)的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn