使用Spinner实现下拉列表

public class MainActivity extends Activity  {

    private List<String> list = new ArrayList<String>();
    private TextView myTextView;
    private Spinner mySpinner;
    private ArrayAdapter<String> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
        list.add("北京");
        list.add("上海");
        list.add("广州");
        list.add("深圳");
        myTextView = (TextView) findViewById(R.id.textView);
        mySpinner = (Spinner) findViewById(R.id.spinner);
        // 第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
        // 第三步:为适配器设置下拉列表下拉时的菜单样式。
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // 第四步:将适配器添加到下拉列表上
        mySpinner.setAdapter(adapter);
        // 第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
        mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
                    public void onItemSelected(AdapterView<?> arg0, View arg1,
                            int arg2, long arg3) {
                        /* 将所选mySpinner 的值带入myTextView 中 */
                        myTextView.setText("您选择的是:" + adapter.getItem(arg2));
                    }

                    public void onNothingSelected(AdapterView<?> arg0) {
                        myTextView.setText("NONE");
                    }
                });
    }
}

自定义Spinner下拉样式

public class MainActivity extends Activity {

    private TextView myTextView;
    private Spinner mySpinner;
    private SimpleAdapter adapter;
    private List<Map<String, Object>> dataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
        dataList = new ArrayList<Map<String, Object>>();
        getData();
        myTextView = (TextView) findViewById(R.id.textView);
        mySpinner = (Spinner) findViewById(R.id.spinner);
        // 第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
        adapter=new SimpleAdapter(this, dataList, R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text});

        // 第三步:为适配器设置下拉列表下拉时的菜单样式。
        adapter.setDropDownViewResource(R.layout.item);
        // 第四步:将适配器添加到下拉列表上
        mySpinner.setAdapter(adapter);
        // 第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中

        mySpinner
                .setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
                    public void onItemSelected(AdapterView<?> arg0, View arg1,
                            int arg2, long arg3) {
                        /* 将所选mySpinner 的值带入myTextView 中 */
                        myTextView.setText("您选择的是:" + adapter.getItem(arg2));
                    }

                    public void onNothingSelected(AdapterView<?> arg0) {
                        myTextView.setText("NONE");
                    }
                });
    }

    private void getData() {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("image", R.drawable.ic_launcher);
        map.put("text", "北京");
        Map<String, Object> map2 = new HashMap<String, Object>();
        map2.put("image", R.drawable.ic_launcher);
        map2.put("text", "上海");
        Map<String, Object> map3 = new HashMap<String, Object>();
        map3.put("image", R.drawable.ic_launcher);
        map3.put("text", "广州");
        Map<String, Object> map4 = new HashMap<String, Object>();
        map4.put("image", R.drawable.ic_launcher);
        map4.put("text", "深圳");
        dataList.add(map);
        dataList.add(map2);
        dataList.add(map3);
        dataList.add(map4);
    }

}

源码下载

时间: 2024-10-09 17:55:23

使用Spinner实现下拉列表的相关文章

如何借助SimpleAdapter和Spinner实现下拉列表

这两天研究了一下利用SimpleAdapter和Spinner实现下拉列表的功能,现将代码与大家共享: 代码1-添加名为"SelectActivity.java"的文件: package com.ghj.activity; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; impor

如何借助ArrayAdapter和Spinner实现下拉列表

这两天研究了一下利用ArrayAdapter和Spinner实现下拉列表的功能,现将代码与大家共享: 代码1-添加名为"Area.java"的文件: package com.ghj.vo; import java.io.Serializable; public class Area implements Serializable { private static final long serialVersionUID = 6262838923156998909L; private St

步步为营_Android开发课[28]_用户界面之Spinner(下拉列表)

Focus on technology, enjoy life!-- QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305 主题:用户界面之Spinner(下拉列表) - 系统自带样式的Spinner下拉列表(实例): activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearL

【转】Android:控件Spinner实现下拉列表

原文网址:http://www.cnblogs.com/tinyphp/p/3858920.html 在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可.这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner. 方法一: 以资源方式,静态展示 Spinner 选项: <Spinner android:layout_width="match_

Android 使用Spinner实现下拉列表

课程目标1.了解Spinner下拉列表的使用和功能2.学会使用系统默认的Spinner3.学会使用自定义样式的Spinner 执行步骤第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项private List<String> list = new ArrayList<String>();list.add("背景");list.add("上海");list.add("广州");list.add("

Android学习——Spinner实现下拉列表

一.Spinner简介 在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可.这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner. 在编码的同时,首先需要在布局中设定Spinner组件,然后将可选内容通过ArrayAdapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器setOnItemSelectedListener并实现on

android中RadioGroup、RadioButton、Spinner、EditText用法详解(含示例截图和源代码)

为了保护版权.尊重原创,转载请注明出处:http://blog.csdn.net/u013149325/article/details/43237757,谢谢! 今天在项目中用到了android中常用的RadioGroup.RadioButton.Spinner.EditText等控件,在此介绍一下它们的用法,希望对需要的朋友有帮助. 一.RadioGroup和RadioButton的使用 RadioButton就是我们常见的单选按钮,一个RadioGroup可以包含多个单选按钮,但是每次只能选

20 UI_常用组件之 Spinner与适配器模式

UI_常用组件之 Spinner(下拉列表)与适配器模式 <Spinner         android:id="@+id/spinner1"         android:layout_width="142dp"         android:layout_height="wrap_content"          android:entries="@array/spinner_data"         an

【Android】Spinner使用

Spinner:下拉列表,主要用于显示一些选项供用户选择,类似PC应用程序里面的Combobox. 使用Spinner需要以下条件: 1.一个 Spinner 控件 2.数据 3.一个Adapter 首先创建一个Spinner控件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools&qu