Android Spinnert的使用

原创 2015年11月20日 12:05:38



效果图:






简述: 

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








版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)