1.回顾

上篇 学会了 GridView 的使用,基本的SimapleAdapter 实现

2.这篇

(1)使用 SimapleAdapter 实现 图文下拉列表

(2) 使用ArrayAdapter 实现  文字下拉列表

(3) setOnItemSelectedListener (这里和前面的就不一样了)

3.实现

在学习过程中 包括ListView ,GridView ,Spanner 都是一样的步骤:准备数据源,准备适配器,设置适配器

3.1SimpleAdapter 实现

0818b9ca8b590ca3270a3433284dd417.png

准备数据源;实例适配器 ,视图设置适配器;

List> maps=new ArrayList>();

for(int i=0;i<21;i++){

Map map=new HashMap();

map.put(“image”,R.drawable.ic_launcher);

map.put(“name”,”yuan”+i);

maps.add(map);

}

SimpleAdapter simpleAdapter=new SimpleAdapter(this,maps,R.layout.list_main,new String[]{“image”,”name”},new int[]{R.id.imageView1,R.id.textView2});

spinner1.setAdapter(simpleAdapter);

spinner1.setOnItemSelectedListener(new spanItemSelectListener());

list_main 实现:

android:layout_width=”match_parent”

android:orientation=”vertical”

android:gravity=”center”

android:layout_height=”match_parent” >

android:id=”@+id/imageView1″

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:src=”@drawable/ic_launcher” />

android:id=”@+id/textView2″

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”TextView” />

3.2 ArrayAdapter

0818b9ca8b590ca3270a3433284dd417.png

这个因为没有图片,所以使用ArrayAdapter 实现 ,更简单;

//设置数据源

List list=new ArrayList();

list.add(“焦作”);

list.add(“温县”);

list.add(“郑州”);

list.add(“河南理工”);

ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);

//设置样式

arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner1.setAdapter(arrayAdapter);

spinner1.setOnItemSelectedListener(new spanItemSelectListener());

4.setOnItemSelectedListener

选择监听事件,依然通过 position 实现

/**

* Spinner 点击事件

* @author yuan

*

*/

class spanItemSelectListener implements OnItemSelectedListener{

@Override

public void onItemSelected(AdapterView> parent, View view,

int position, long id) {

// 通过position

tv_spinner.setText(spinner1.getItemAtPosition(position).toString());

}

@Override

public void onNothingSelected(AdapterView> parent) {

// TODO Auto-generated method stub

}

}

5.总结

目前为止 使用适配器的 有 listview , gridview , spanner ;