1、在layout目录下创建main.xml布局文件,用于Spinner下拉列表布局
<RelativeLayout 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" >
<Spinner
android:id="@+id/planets_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
2.在strings.xml里面定义类似String数组的数据源
<resources>
<string name="app_name">Spinners</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>
3.Activity
package com.example.spinners;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通过id获得Spinner对象
Spinner spinner=(Spinner) findViewById(R.id.planets_spinner);
/**
* createFromResource (Context context, int textArrayResId, int textViewResId)
* context 上下文对象
* textArrayResId 引用了在strings.xml文件当中定义的String数组
* textViewResId 用来指定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("测试");
//为对象绑定监听器
spinner.setOnItemSelectedListener(new spinnerListener());
}
//这个监听器主要用来监听用户选择列表的动作
class spinnerListener implements OnItemSelectedListener{
//当用户选定了一个条目时,就会调用该方法
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
}
//当用户没有选定了一个条目时,就会调用该方法
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
}
程序运行图