Spinner控件:下拉列表

简单的spinner举例,一言不合上代码:

这里写图片描述

public class SpinnerActivity extends BaseActivity {

    private TextView textView,textView1;
    private Spinner spinner_1;
    private ArrayAdapter<String> adapter_1;
    private List<String> lists_1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.spinner_layout);

        spinner_1 = (Spinner) findViewById(R.id.spinner_1);
        textView = (TextView) findViewById(R.id.textView);

        //1.设置数据源
        lists_1 = new ArrayList<String>();
        lists_1.add("北京");
        lists_1.add("上海");
        lists_1.add("广州");
        lists_1.add("深圳");
        //2.设置适配器
        adapter_1 = new ArrayAdapter<String>(SpinnerActivity.this, android.R.layout.simple_spinner_item, lists_1);
        //3.设置下拉样式
        adapter_1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //4.加载适配器
        spinner_1.setAdapter(adapter_1);
        //5.设置监听
        spinner_1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String cityName = adapter_1.getItem(position);
                textView.setText("您选择了: " + cityName);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {}
        });
}

第2步加载适配器和第3步设置下拉样式都是采用android自带的样式哦

自定义spinner控件:
这里写图片描述

 //1.设置数据源
        getData();
        //2.配置适配器
        adapter_2 = new SimpleAdapter(SpinnerActivity.this,lists_2,R.layout.spinner_item,new String[]{"image","text"},new int[]{R.id.image,R.id.textView});
        //3.设置下拉样式
        adapter_2.setDropDownViewResource(R.layout.spinner_item);
        //4.加载适配器
        spinner_2.setAdapter(adapter_2);
        //5.设置监听
        spinner_2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String cityName = lists_2.get(position).get("text").toString();
                textView1.setText("您选择了: "+cityName);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

    }

    private List<Map<String, Object>> getData() {

        lists_2 = new ArrayList<Map<String, Object>>();

        Map<String, Object> map1 = new HashMap<String, Object>();
        map1.put("image", R.mipmap.ic_launcher);
        map1.put("text", "北京");
        Map<String, Object> map2 = new HashMap<String, Object>();
        map2.put("image", R.mipmap.ic_launcher);
        map2.put("text", "上海");
        Map<String, Object> map3 = new HashMap<String, Object>();
        map3.put("image", R.mipmap.ic_launcher);
        map3.put("text", "广州");
        Map<String, Object> map4 = new HashMap<String, Object>();
        map4.put("image", R.mipmap.ic_launcher);
        map4.put("text", "深圳");

        lists_2.add(map1);
        lists_2.add(map2);
        lists_2.add(map3);
        lists_2.add(map4);

        return lists_2;
    }

依然是SimpleAdapter的使用,不过这一次子项布局采用了我们自创的布局哦(左边ImageView右边TextView)

注意,监听事件是setOnItemSelectedListener!!还有不要忘了setDropDownViewResource来设置下拉菜单的样式哦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯刘

我 风暴降生 打钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值