Fragment中调用SimpleAdapter问题

在Fragment中使用ListView的时候,需要使用适配器,在调用SimpleAdapter的时候,传递的参数需要注意。首先看SimpleAdapter的函数定义

SimpleAdapter(Context  context, List>  data, int resource, String[]  from, int[] to)
      参数:
      1,context:上下文。
      2,data:基于Map的list。Data里边的每一项都和 ListView里边的每一项对应。Data里边的每一项都是一个Map类型,这个Map类里边包含了ListView每一行需要的数据。
      3,resource :就是一个布局layout,可引用系统提供的,也可以自定义。
      4,from:这是个名字数组,每个名字是为了在 ArrayList数组的每一个item索引Map的Object用的。即 map 中得key值
      5,to:里面是一个TextView数组。这些 TextView是以id的形式来表示的。例如:Android.R.id.text1,这个text1在layout当中是可以索引的。

一般上下文context使用this指针,但是在Fragment中会报错,需要使用如下的方式进行调用。

 

SimpleAdapter listItemAdapter=new SimpleAdapter(
				getActivity(),	//这里要使用此,这样才不会报错。			
				listItem,
				R.layout.fr_events_grid,
				new String[]{"ItemTitle","ItemMessage","ItemImage"},
				new int[]{R.id.fr_events_list_empty_view_title,R.id.fr_events_list_empty_view_message,R.id.fr_events_list_empty_view_image_view}
				);
		 listView.setAdapter(listItemAdapter);


 

你可能感兴趣的:(编程)