1、main.xml代码:
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Spinner" >
<Spinner
android:id="@+id/sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
2、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/spinnertext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp" />
</LinearLayout>
3、strings.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Spinner</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string-array name="spinner">
<item>铅笔</item>
<item>橡皮</item>
<item>卫生纸</item>
</string-array>
</resources>
4、Spinner.java代码:
package mars.spinner;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AdapterView.OnItemSelectedListener;
import android.app.Activity;
//下拉菜单
public class Spinner extends Activity {
private android.widget.Spinner sp;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sp=(android.widget.Spinner)findViewById(R.id.sp);
/*
//1、动态创建ArrayAdapter
List<String> list=new ArrayList<String>();
list.add("text01");
list.add("text02");
//在item.xml文件中只有一个<TextView>,为整个列表提供数据
ArrayAdapter adapter=new ArrayAdapter(this,R.layout.item,R.id.spinnertext,list);
*/
//2、用数组创建ArrayAdapter
//创建一个ArrayAdapter数据适配器,给控件提供数据
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this,
R.array.spinner,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setAdapter(adapter);
sp.setPrompt("公共用品");
//绑定监听器
sp.setOnItemSelectedListener(new SpinnerOnSelectedListener());
}
//创建监听器
class SpinnerOnSelectedListener implements OnItemSelectedListener{
public void onItemSelected(AdapterView<?> adapterView, View view, int position,long id) {
String selected=adapterView.getItemAtPosition(position).toString();
System.out.println(selected);
}
public void onNothingSelected(AdapterView<?> adapterView) {
System.out.println("nothing selected!");
}
}
}
5、运行效果: