SimpleAdapter用法

sim_adapter=new SimpleAdapter(context, data, resource, from, to);
  • context:上下文;

  • data:需要展示的数据源,是map组成的list集合,每个Map对应ListView中的一行,每一个Map(键——值对)中的键名必须包含在from中所指定的键;

  • resource:展示的布局文件,可以自己在layout设置xml文件去设置需要展示 的样式;

  • from:Map中的键名;

  • to:绑定数据视图的ID,与from成对应的关系。


public class MainActivity extends Activity {
   private ListView listView;
   private SimpleAdapter simple_adapter;
   private List< Map<String, Object>> dataList ;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);


		listView=(ListView) findViewById(R.id.listView);
		dataList=new ArrayList< Map<String, Object>>();

  
//适配器设置	
simple_adapter=new SimpleAdapter(this, getData(), R.layout.item, new
				String[] {"pic","text"}, new int[] {R.id.pic,R.id.text});
				
//启用适配器			
		 listView.setAdapter(simple_adapter);
		 
		}
		
//	设置数据源	
  private List<Map<String, Object>> getData() {
	  for(int i=0;i<20;i++) {
		  Map map=new HashMap<String, Object>();
		  map.put("pic", R.drawable.ic_launcher);
		  map.put("text", "慕课网"+i);
		  dataList.add(map);
	  }
	  
	  return dataList;
  };

}

运行结果:

在这里插入图片描述

如果需要对每个Map进行监听,则可以设置implement OnItemClickListener接口进行监听,但别忘记加载监听器!

public class MainActivity extends ActionBarActivity implements OnItemClickListener{
	private GridView grid;
	private SimpleAdapter sim_adapter;
	private List<Map<String, Object>> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
	grid = (GridView) findViewById(R.id.gridView1);
	list=new ArrayList();
	
	sim_adapter = new SimpleAdapter(this, getData(), R.layout.item, new String[] { "pic", "text" },
			new int[] { R.id.image, R.id.text });

	grid.setAdapter(sim_adapter);
   grid.setOnItemClickListener(this);       //加载监听器
   
}

private List<Map<String, Object>> getData() {
	for (int i = 0; i < 10; i++) {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("pic", R.drawable.ic_launcher);
		map.put("text", "app" + (i + 1));
		list.add(map);
		
	}

	return list;
	// TODO Auto-generated method stub

}

//实现监听,加载动作

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {

	Toast.makeText(this, "这是第"+(position+1)+"个应用", Toast.LENGTH_SHORT).show();
}

}

SimpleAdapter是一个适配器类,用于绑定数据和视图。它可以将数据绑定到一个布局中的视图上,常常在列表和网格控件中使用。以下是SimpleAdapter用法: 1. 准备数据 首先,你需要准备数据。数据可以是一个List,其中每个元素都是一个Map。Map是一个键值对的集合,用于存储数据。每个键都对应着一个值,可以通过键来访问值。 例如,如果你要显示一个联系人列表,可以使用以下代码创建一个List: List<Map<String, Object>> data = new ArrayList<Map<String, Object>>(); Map<String, Object> contact1 = new HashMap<String, Object>(); contact1.put("name", "Alice"); contact1.put("phone", "1234567890"); data.add(contact1); Map<String, Object> contact2 = new HashMap<String, Object>(); contact2.put("name", "Bob"); contact2.put("phone", "0987654321"); data.add(contact2); 2. 准备布局 接下来,你需要准备布局。布局可以是一个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="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/name_textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:textStyle="bold"/> <TextView android:id="@+id/phone_textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="16sp"/> </LinearLayout> 3. 创建适配器 现在,你可以创建一个适配器。适配器类是SimpleAdapter,它需要以下参数: - Context:上下文对象,一般使用当前Activity的this。 - data:数据源,即上面准备好的List。 - resource:布局文件的ID,即R.layout.xxx。 - from:一个String数组,表示要绑定的数据的键。 - to:一个int数组,表示要绑定的视图的ID。 以下是创建适配器的代码: SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.contact_item, new String[]{"name", "phone"}, new int[]{R.id.name_textview, R.id.phone_textview}); 4. 设置适配器 最后,你需要设置适配器。在ListView或GridView中,你可以使用setAdapter方法来设置适配器。例如: ListView listView = findViewById(R.id.listview); listView.setAdapter(adapter); 以上就是SimpleAdapter用法。它可以快速、简便地将数据绑定到视图中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值