代码如下:
<LinearLayout 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:orientation="vertical" >
<TextView
android:id="@+id/tv_text_choose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择:"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp" />
<Spinner
android:id="@+id/sp_city"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
五部曲:
import java.util.ArrayList;
import java.util.List;
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;
import android.widget.TextView;
/**
* 下拉列表的简单实现
*
* @author Administrator
*
*/
public class MainActivity extends Activity {
private List<String> list = new ArrayList<String>();
private ArrayAdapter<String> adapter;
private TextView tv_text;
private Spinner sp_city;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_text = (TextView) findViewById(R.id.tv_text);
sp_city = (Spinner) findViewById(R.id.sp_city);
// 第一步:添加一个下拉列表的list
list.add("北京");
list.add("上海");
list.add("广州");
list.add("深圳");
list.add("杭州");
// 第二步:为下拉列表定义一个适配器
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
// 第三步:设置菜单样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// 第四步:将适配器添加到下拉列表上
sp_city.setAdapter(adapter);
// 第五步:设置响应事件
sp_city.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// 所选择的值设置到TextView
tv_text.setText("您选择了:" + adapter.getItem(arg2));
// 显示Spinner
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
arg0.setVisibility(View.VISIBLE);
}
});
}
}
也可以自定义样式,和ListView类似。