第一步
在layout文件夹下新建main.xml,在main.xml里面编辑TextView和Spinner的属性;
第二步
在MainActivity.java中 修改成 setContentView(R.layout.main),即是刚才自己定义的main.xml
public class MainActivity extends Activity {
private TextView textView;
private Spinner spinner;
private List<Map<String,Object>>list;
private SimpleAdapter simpadapter; //定义一个简单适配器
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list=new ArrayList<Map<String,Object>>();
textView=(TextView)findViewById(R.id.textView);
spinner=(Spinner) findViewById(R.id.spinner);
getData();
simpadapter=new SimpleAdapter(this, list, R.layout.item, new String[]{"image","textView"}, new int[]{R.id.image,R.id.textView});//新建一个适配器
第一个参数是上下文,第二个参数是数据源,这个数据源是通过上一行的getData()得到的,第三个参数是自己新建的item.xml.放的是,图片和文字的格式。
第四个参数是个字符串数组,第五个是和整形数组,存放的是得到的图片和文字的ID。
simpadapter.setDropDownViewResource(R.layout.item);//定义个下拉框
spinner.setAdapter(simpadapter); //加载适配器
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
textView.setText("您选择的是:"+simpadapter.getItem(arg2));
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
textView.setText("NONE");
}
}
); // 一个点击监听方法
}
private List< Map<String, Object>> getData() {
Map<String,Object>map=new HashMap<String, Object>();
map.put("image", R.drawable.ic_launcher);
map.put("textView", "语文");
Map<String,Object>map1=new HashMap<String, Object>();
map1.put("image", R.drawable.ic_launcher);
map1.put("textView", "数学");
Map<String,Object>map2=new HashMap<String, Object>();
map2.put("image", R.drawable.ic_launcher);
map2.put("textView", "英语");
Map<String,Object>map3=new HashMap<String, Object>();
map3.put("image", R.drawable.ic_launcher);
map3.put("textView", "历史");
list.add(map);
list.add(map1);
list.add(map2);
list.add(map3);
return list;
}
}