各位看官们大家好,上一回中咱们说的例子是"如何给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"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!