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();这个方法就 可以实现








早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页