笔记 Spinner类(下拉列表框):

间接继承于ViewGroup,属于容器类组件,通常用于提供一系列可选择的列表项供用户选择,从而方便用户
Spinner类支持的XML属性:

android:entries 指定列表项
android:prompt 用于指定下拉列表的标题

Android5.0应用默认主题Theme.Holo时,设置android:prompt属性看不到具体的效果,如果采用Theme.Black,就可以在弹出的下拉列表框中显示该标题

如果下拉列表要显示的列表项是可知的,那么可将其保存在数组资源文件中,可将其保存在数组资源文件中,然后通过数组资源来为下拉列表框指定列表项,这样可以实现在补编写Java代码的情况下实现一个下拉列表框

在XML文件中添加字符串数组:

<?xml version = “1.0” encoding = “utf-8”?>
<resources>
<string-array name = “ctype”>
<item>内容</item>
<item>内容</item>
</string-array>
<resources>

添加列表选项框后,如果需要在用户选择不同的列表项后,执行响应的处理,则可以为该下拉列表框添加OnItemSelectedListener事件监听器,通过getItemAtPosition()方法获取选中的值,然后用Toast.makeText()方法将获取的值显示出来:

Spinner 对象名1 = (Spinner)findViewById(R.id.组件ID);
	对象名1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
		@Override
		public void onItemSelected(AdapterView<?> parent,View view,int position,long id){
			//获取选择项的值
		String 对象名2 = parent.getItemAtPosition(position).toString();
		//代码
}
	@Override
	public void onNothingSelected(AdapterView<?> parent) {
}
});

为下拉列表框指定适配器添加列表项:
a) 创建适配器对象,通常使用ArrayAdapter类,首先需要创建一个一维的字符串数组,用于保存要显示的列表项,然后使用

ArrayAdapter类的构造方法ArrayAdapter(Context context,int textViewResourceId,T[] objects)实例化一个ArrayAdapter类的实例 例:
String[] ctype = new String[]{“全部”,”电影”,”图书”,”唱片”,”小事”};
ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ctype);

b) 为适配器设置列表框下拉时的选项样式 例:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

c) 将适配器与选择列表相关联:

spinner.setAdapter(adapter);

在屏幕上添加下拉列表框后,可以使用下拉列表框的getSelectedItem()方法获取下拉列表框的选中值 例:

Spinner spinner = (Spinner)findViewById(R.id.spinner1);
spinner.getSelectedItem();

猜你喜欢

转载自blog.csdn.net/qq_42823109/article/details/93451506