(1)在布局文件中的声明
public void onNothingSelected(AdapterView parent) {
<Spinner
android:id="@+id/spinnerld"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
(2)在String.xml当中声明一个数组
<String-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
</String-array>
(3)创建一个ArrayAdapter
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
创建下拉菜单的样式
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
定义soinner中每个条目的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
设置spinner对象(通过设置赋值给spinner对象)
spinner.setAdapter(adapter);
setPrompt("设置下拉菜单的标题")
}
(3)创建一个监听器
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext()), "The
planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
(4)在Oncreat方法中注册监听器
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
ArrayAdapter的另一种用法
除了从可以使用strings.xml文件当中的数组创建ArrayAdapter之外,还可以动态的创建 ArrayAdapter
List<String>list = new ArrayList<String>();
list.add("test1");
lsit.add("test2“);
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewld,list);