【Android学习】spinner列表

1,概念

位于android.widget包。
是View的一个子类。

2,spinner属性

1)对spinner的选择事件不需要响应

如果需要响应,通过OnItemSelectedListener回调方法实现。

Android:entries="@array/languages"

表示Spinner的数据集合是从资源数组languages中获取的,languages数组资源定义在values/arrays.xml中:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string-array name="languages">

        <item>c语言</item>

        <item>java </item>

        <item>php</item>

        <item>xml</item>

        <item>html</item>

    </string-array>

</resources>

2)菜单显示方式

一种是下拉菜单(dropdown),一种是弹出框(dialog)。

android:spinnerMode="dropdown"
android:spinnerMode="dialog"

3)对话框的标题

prompt:在Spinner弹出选择对话框的时候对话框的标题。

3,自定义spinner

1)xml用spinner控件

2)自定义adapter

继承BaseAdapter。点击查看自定义adapter写法

3)主界面

Spinner点击选中Item有时不再调用onItemSelected方法的方案


            sp.setAdapter(adapter_planeGate);
            sp.setOnItemSelectedListener(this); 
            // Spinner点击选中Item不再调用onItemSelected方法的方案
            sp.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                     try {

                            Class<?> clazz = AdapterView.class;
                            Field field = clazz.getDeclaredField("mOldSelectedRowId");
                            field.setAccessible(true);
                            field.setInt(sp_planeGate,Integer.MIN_VALUE);
                        } catch(Exception e){
                            e.printStackTrace();
                        }
                    return false;
                }
            });

获得当前选中内容

sp.getSelectedItem().toString()

设置样式

sp.setBackgroundDrawable(getResources().getDrawable(R.drawable.sp_icon));

spinner选中事件调用方法:

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值