一.方法一
a) 在主Activity的布局文件中添加一个Spinner控件。
<Spinner android:id="@+id/spinnderid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
b) 在string.xml文件中创建一个string-array标签,添加列表内容
<string-array name="spinner_array">
<item>测试一</item>
<item>测试二</item>
<item>测试三</item>
<item>测试四</item>
<item>测试五</item>
<item>测试六</item>
</string-array>
c) 在Activity中添加如下代码
package paj.spinnerTest;
import java.util.ArrayList;
import java.util.List;
import junit.framework.Test;
import android.R.anim;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class SpinnerTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取一个spinner控件
Spinner spinner = (Spinner) findViewById(R.id.spinnderid);
//创建一个ArrayAdapter对象
//第一个参数,当前窗体
//第二个参数,存放下拉列表内容的数组
//第三个参数,下拉菜单的布局样式。可以使用android内置的样式也可以自定义
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this,
R.array.spinner_array,
android.R.layout.simple_spinner_item);
//设置下拉菜单内容的布局样式。可以使用android内置的样式也可以自定义
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
//标题
spinner.setPrompt("测试");
//设置监听事件
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
//第一个参数,发生选中事件的控件
//第二个参数,下拉列表的内容视图
//第三个参数,下拉列表内容视图中的条目位置索引
//第四个参数,被点击条目的ID
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
// 调用getItemAtPosition的toString()方法获取字符串
System.out.println(arg0.getItemAtPosition(arg2).toString());
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
System.out.println("NoT Selected!");
}
});
}
}
二.动态添加列表内容
a) 创建一个List对象,并向List对象中添加内容。
b) 使用ArrayAdapter四个参数的构造函数创建一个对象,而不使用ArrayAdapter.createFromResource方法创建
c) 代码如下:
List<String> list = new ArrayList<String>();
list.add("测试测试一");
list.add("测试测试二");
//第一个参数为 当前Activity对象
//第二个参数为 自定义的Spinner布局文件
//第三个参数为 下拉列表内容样式布局文件
//第三个参数为 动态添加的List
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.item ,
R.id.Items,
list);
使用这种方法就不需要使用adapter.setDropDownViewResource来设置列表样式