代码小疯子

你眼睛看到的不一定是真的

Android Spinnert的使用



效果图:






简述: 

spinnert是一种列表型的菜单 ,它继承于android.widget.AbsSpinner



使用方法 :

在布局文件中设置数据的来源

在布局文件中:

    <Spinner
        android:id="@+id/spinner_demo"
        android:entries="@array/demo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Spinner>


其中 属性 entries 设置了spinner的数据的来源,在values/strings.xml中添加

 <string-array name="demo">
        <item>demo</item>
        <item>demo1</item>
        <item>demo2</item>
        <item>demo3</item>

    </string-array>


java中的实现

private Spinner mSpinnerDemo;

    private void setSpinnerDemo() {
         mSpinnerDemo = (Spinner) findViewById(R.id.spinner_demo);
  

        //设置mSpinnerDemo的监听
        mSpinnerDemo.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            //当选中某个条目的时候,会调用这个方法
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                //获取选中条目的内容
                String  itemAtPosition = (String) mSpinnerDemo.getItemAtPosition(position);
                Toast.makeText(MainActivity.this, "yout selecte is "+itemAtPosition, Toast.LENGTH_SHORT).show();
            }

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

            }
        });
    }


在java代码中设置数据的来源:


private Spinner mSpinnerDemo;

    private void setSpinnerDemo() {
         mSpinnerDemo = (Spinner) findViewById(R.id.spinner_demo);
        //创建数据源
        String[] strings = {"adf0","adf1","adf2","adf3","adf4","adf5"};
        //创建数据适配器
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout
                .simple_expandable_list_item_1,strings);
        //设置适配器的样式
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mSpinnerDemo.setAdapter(adapter);

        //设置mSpinnerDemo的监听
        mSpinnerDemo.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            //当选中某个条目的时候,会调用这个方法
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                //获取选中条目的内容
                String  itemAtPosition = (String) mSpinnerDemo.getItemAtPosition(position);
                Toast.makeText(MainActivity.this, "yout selecte is "+itemAtPosition, Toast.LENGTH_SHORT).show();
            }

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

            }
        });
    }


方法调用一(2015/12/02更新)

用mSpinnerDemo.getSelectedItemId()获取选中的id,id是按照排序规则的。根据id则可以判断是选中了哪个。  





点击其他按钮触发显示spinner弹出菜单选项


只需要在相应的点击响应事件中调用spinner的    performClick();这个方法就 可以实现








阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl18603543572/article/details/49945485
个人分类: Android—>基础篇
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Android Spinnert的使用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭