ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器)

ArrayAdapter数组适配器常用语搭建简单的数组列表等布局,SimpleAdapter简单适配器的布局文件可以自己定义。

public class MainActivity extends ActionBarActivity implements OnItemClickListener,OnScrollListener{
	ListView listView1;
	
	List> datalist;
	ArrayAdapter Adapter;
	SimpleAdapter Adapter2;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		listView1=(ListView) findViewById(R.id.listView1);
		//创建数组适配器的数据源
		//创建简单适配器数据源
		String list[]={"第一行","第二行","第三行","第四行"};
		datalist=new ArrayList>();
		//创建数组适配器
		//创建简单适配器
		/*
		 * 数组适配器里的三个参数分别是上下文,简单布局文件,数据源。
		 * 简单适配器参数分别为上下文,数据源(一般都是泛型集合),自己定义的布局文件,for是数据源键值对的名称,to是与for相对应的ID地址
		 */
		Adapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1, list);
		Adapter2=new SimpleAdapter(this, getdata(), R.layout.item, new String[]{"pic","text"}, new int[]{R.id.img,R.id.tv});
		//为listView1绑定适配器
		//listView1.setAdapter(Adapter);
		listView1.setAdapter(Adapter2);
		//注册监听器
		listView1.setOnItemClickListener(this);
		listView1.setOnScrollListener(this);
	}
	//为简单适配器数据源添加内容
	private List> getdata()
	{
		for(int i=0;i<15;i++)
		{
			Map map=new HashMap();
			map.put("pic", R.drawable.ic_launcher);
			map.put("text", "第"+i+"行");
			datalist.add(map);
		}
		return datalist;
	}
	@Override
	public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void onScrollStateChanged(AbsListView arg0, int ScrollState) {
		// TODO Auto-generated method stub
		//ScrollState监测下拉状态
		switch(ScrollState)
		{
		case SCROLL_STATE_FLING://下拉形成惯性继续滑动
			//为视图增加一个条目
			Map map=new HashMap();
			map.put("pic", R.drawable.ic_launcher);
			map.put("text", "新增条目");
			datalist.add(map);
			//刷新视图
			Adapter2.notifyDataSetChanged();
			break;
		case SCROLL_STATE_IDLE://视图已经停止滑动
			break;
		case SCROLL_STATE_TOUCH_SCROLL://下拉中,手指没离开屏幕
			break;
		}
	}
	@Override
	public void onItemClick(AdapterView arg0, View arg1, int position, long arg3) {
		// TODO Auto-generated method stub
		//获取点击项内容
		String text=listView1.getItemAtPosition(position)+"";
		Toast.makeText(MainActivity.this,"position:"+position+"text:"+text,Toast.LENGTH_SHORT).show();
	}


}

自定义的布局文件Item


    



数组适配器的视图
ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器)_第1张图片

简单适配器

ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器)_第2张图片

添加OnItemClickListener监听器操作

ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器)_第3张图片

添加OnScrollListener操作

ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器)_第4张图片


你可能感兴趣的:(ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器))