1.Spinner
在MainActivity.java中代码
//声明spinner对象
private Spinner spinner=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过id得到spinnner对象
spinner=(Spinner) findViewById(R.id.spinnerId);
//第一种方法,自动存放
List<String> list=new ArrayList<String>();
list.add("test1");
list.add("add2");
//第二种方法,用.xml获取
//调用ArrayAdapter的构造函数来创建ArrayAdapter对象
//第一个参数是指上下文对象
//第二个参数制定了下拉惨淡当中每个条目的样式
//第三个参数制定了TextView空间的ID
//第四个参数为整个列表提供数据
ArrayAdapter adapter=new ArrayAdapter(this, R.layout.item,R.id.textViewId, list);
//通过createFromResource方法创建一个ArrayAdapter对象
//第一个参数是指上下文对象
//第二个参数引用了在string.xml文件当中定义的String数组
//第三个参数是用来指定spinner的样式,是一个布局文件ID,该布局文件有Android系统提供,也可以替换为自己定义的布局文件
// ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
//设置spinner当中的每个条目的样式,同样是引用一个Android系统提供的布局文件
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//
spinner.setAdapter(adapter);
spinner.setPrompt("测试");
//为spinnner绑定监听器
spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
}
//创建监听器
//这个监听器主要用来监听用户选择列表的动作
class SpinnerOnSelectedListener implements OnItemSelectedListener{
//当用户选中一个条目时候调用此方法
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
String selected=parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, selected, Toast.LENGTH_LONG).show();
System.out.println("选中的是 "+selected);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "未选中", Toast.LENGTH_LONG).show();
System.out.println("未选中");
}
}
在string.xml中
<string-array name="planets_array">
<item>圆子</item>
<item>美丽</item>
<item>盘子</item>
<item>哈哈1</item>
<item>哈哈2</item>
<item>哈哈3</item>
<item>哈哈4</item>
</string-array>
在layout文件夹中创建item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
在activity_main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.myspinner.MainActivity" >
<Spinner
android:id="@+id/spinnerId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
效果