android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_launcher" />
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:textSize="16sp"
android:textColor="#000000" />
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:id="@+id/imageView"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_launcher" />
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:textSize="16sp"
android:textColor="#000000" />
SpinnerMainActivity.java
[java] view plaincopyprint?
package cn.lynn.spinner;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;
/**
* Spinner用于显示下拉选项列表,并支持对各选项进行选择
* Spinner案例一:标准Spinner选择城市
* Spinner案例二:自定义Spinner选择Logo
* @author lynnli1229
*/
public class SpinnerMainActivity extends Activity implements OnItemSelectedListener {
// 标准样式的Spinner
private Spinner normalSpinner;
// 自定义样式的Spinner
private Spinner customSpinner;
private ArrayAdapter arrAdapter;
private SimpleAdapter simpAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
normalSpinner = (Spinner) findViewById(R.id.spinner);
arrAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, getList());
arrAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
normalSpinner.setAdapter(arrAdapter);
// 设置选择下拉选项的监听
normalSpinner.setOnItemSelectedListener(this);
customSpinner = (Spinner) findViewById(R.id.spinner2);
// 构造SimpleAdapter为customSpinner对象采集数据被并填充到相应的视图上
// SimpleAdapter构造器的参数依次为:context上下文,填充数据List,
// Adapter布局文件,用于填充数据的key值,用于显示数据的控件Id
simpAdapter = new SimpleAdapter(this, getListMap(), R.layout.item,
new String[] { "img", "txt" },
new int[] { R.id.imageView, R.id.textView });
customSpinner.setAdapter(simpAdapter);
// 设置选择下拉选项的监听
customSpinner.setOnItemSelectedListener(this);
}
/**
* 采集List类型数据,用于填充ArrayAdapter
*/
private List getList() {
List list = new ArrayList();
list.add("北京");
list.add("上海");
list.add("广州");
return list;
}
/**
* 采集List>类型数据,用于填充SimpleAdapter
*/
private List> getListMap() {
HashMap map1 = new HashMap();
map1.put("img", R.drawable.item1);
map1.put("txt", "adidas");
HashMap map2 = new HashMap();
map2.put("img", R.drawable.item2);
map2.put("txt", "birds");
HashMap map3 = new HashMap();
map3.put("img", R.drawable.item3);
map3.put("txt", "android");
List> list = new ArrayList>();
原文转自:http://blog.csdn.net/creativemobile/article/details/9073819