【Android学习】spinner

来源:互联网 发布:企业在淘宝开店流程 编辑:程序博客网 时间:2024/05/01 03:35

1,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弹出选择对话框的时候对话框的标题。

2,自定义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) {    }
原创粉丝点击