Spinner下拉列表的使用和功能
执行步骤:
* 1、添加一个下拉列表项的list
* 2、为下拉列表定义一个数组适配器(ArrayAdapter),添加数据资源
* 3、位适配器设置下拉列表下拉时的菜单样式
* 4、将适配器添加到下拉列表上
* 5、为下来列表设置各种响应事件 setOnItemSelectedListener()
使用系统默认的Spinner
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;
public class MainActivity extends Activity implements OnItemSelectedListener{
private TextView textView;
private Spinner spinner;
private List<String> list;
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView=(TextView) findViewById(R.id.textView);
spinner=(Spinner) findViewById(R.id.spinner);
textView.setText("您选择的城市是:北京");
//设置数据源
list=new ArrayList<>();
list.add("北京");
list.add("上海");
list.add("广州");
list.add("深圳");
list.add("山西");
//新建数组适配器(单纯文字方便) android.R.xxx---安卓自带
adapter=new ArrayAdapter<>(this, android.R.layout.simple_spinner_item,list);
//adapter设置下拉列表样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//加载适配器
spinner.setAdapter(adapter);
//设置监听器
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
String cityName=adapter.getItem(position);
textView.setText("您选择的城市是:"+cityName);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
}
main.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/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textColor="#ff0000"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
自定义样式的Spinner用法:适配器使用简单适配器