方式一:直接通过资源文件配置
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, SpinnerDemoActivity!</string>
<string name="app_name">SpinnerDemo</string>
<string name="color">选择色彩</string>
<string-array name="colors">
<item>黑色 | Black</item>
<item>蓝色 | Blue</item>
<item>棕色 | Brown</item>
<item>绿色 | Green</item>
<item>灰色 | Grey</item>
<item>粉色 | Pink</item>
<item>紫色 | Purple</item>
<item>红色 | Red</item>
<item>白色 | White</item>
<item>黄色 | Yellow</item>
</string-array>
</resources>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="@string/color" />
<!-- android:prompt表示下拉框的标题 -->
<!-- android:entries设置Spinner的内容数组 -->
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/colors"
android:prompt="@string/color" />
</LinearLayout>
方式二:使用ArrayAdapter
strings.xml同上
main.xml同上(去掉android:entries="@array/colors"这一行)
SpinnerDemoActivity.java
package com.tianjf;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class SpinnerDemoActivity extends Activity {
private Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinner = (Spinner) findViewById(R.id.spinner);
// 准备一个数组适配器
// R.array.colors : 直接从strings.xml去数据
// android.R.layout.simple_spinner_item : 设置Spinner样式(无下拉列表时)
ArrayAdapter<CharSequence> arrayAdapter = ArrayAdapter
.createFromResource(this, R.array.colors,
android.R.layout.simple_spinner_item);
// 设置下拉列表样式
arrayAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// 为下拉列表设置适配器
spinner.setAdapter(arrayAdapter);
// 为下拉列表绑定事件监听器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(
SpinnerDemoActivity.this,
"选择的色彩: "
+ parent.getItemAtPosition(position).toString(),
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}