一起Talk Android吧(第四百四十一回:UI控件之下拉列表:Spinner一)

Posted talk_8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第四百四十一回:UI控件之下拉列表:Spinner一)相关的知识,希望对你有一定的参考价值。

文章目录


各位看官们大家好,上一回中咱们说的例子是"如何给RecyclerView添加分隔线",这一回中说的例子是" UI控件之下拉表:Spinner"。闲话休提,言归正转,让我们一起Talk android吧!

看官们,最近有看官提问关于下拉列表(Spinner)的问题,我们准备给大家做一个全面的介绍。

使用方法

下拉列表的使用方法和ListView或者RecyclerView这两个UI控件的使用方法类似,如果大家掌握了这两个UI控件的用法,那么掌握下拉列表的用法就会容易一些。没有掌握这两个UI控件用法的看官可以查看我以前的博客。下面是下拉列表的使用方法:

  • 1.在布局中添加Spinner控件,并且设置长度、宽度等属性;
  • 2.在代码中绑定控件(ViewBinding);
  • 3.给Spinner设定适配器(adapter)和监听器;

到此为止,就可以使用下拉列表控件了,不过上面的操作步骤都是文字描述,感觉很抽象,接下来我们将通过具体的代码来演示:

示例代码

明白下拉列表的使用方法后,我们通过代码来演示它的具体使用方法,详细如下:

<!-- 1.在布局中添加Spinner控件,并且设置长度、宽度等属性; -->
<Spinner
    android:id="@+id/id_spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

下面的代码中使用ViewBinding来绑定下拉列表,代码中的ActivitySpinner是下拉列表所在Activity的名称

// 2.在代码中绑定控件(ViewBinding);
private void initView() 
    mBinding = ActivitySpinner.inflate(getLayoutInflater());
    mView = mBinding.getRoot();
    setContentView(mView);

    mSpinner = mBinding.idSpinner;

给Spinner设定适配器(adapter)和监听器,更加详细的内容可以参考代码中的注释;

    private void initSpinner() 
        //这些值是下拉表中显示的的数值,可以依据项目需要自己去定义
        contenArray.add("1");
        contenArray.add("2");
        contenArray.add("3");

        //创建适配器对象并且和spinner进行绑定,适配器的内容稍后介绍
        mSpinnerAdapter = new CustomSpinnerAdapter(this,contenArray);
        mSpinner.setAdapter(mSpinnerAdapter);

        //设置下拉列表的初始值,这里将其设置为列表中的第二个选项
        mSpinner.setSelection(1);

        //给Spinner设定监听器,用来获取下拉列表中被用户选择的某个选项
        mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
            @Override
            public void onItemSelected(AdapterView<?> view, View view1, int i, long l) 
                //两种获取被选择项目内容的方法
//                String time = ((TextView)view.findViewById(R.id.item_value)).getText().toString();
                String time = view.getSelectedItem().toString();
            

            @Override
            public void onNothingSelected(AdapterView<?> view) 
            
        );
    

内容总结

我们在本章回中介绍了Spinner的使用方法,并且给出了对应的示例代码,希望大家动手去实践一下,这样有助于大家理解文章中的内容。不过这些代码中还有一个适配器类没有介绍,它的内容比较多,我们将其单独拿出来放在后面的章回中介绍。

看官们,关于"UI控件之下拉列表:Spinner"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

以上是关于一起Talk Android吧(第四百四十一回:UI控件之下拉列表:Spinner一)的主要内容,如果未能解决你的问题,请参考以下文章

一起Talk Android吧(第四百四十六回:UI控件之DatePickerDialog)

一起Talk Android吧(第四百四十回:如何给RecyclerView添加分隔线)

一起Talk Android吧(第四百四十九回:修改各种Picker的style)

一起Talk Android吧(第四百四十三回:UI控件之NumberPicker)

一起Talk Android吧(第四百四十八回:UI控件之Switch)

一起Talk Android吧(第四百四十四回:UI控件之DatePicker)