public?class?MainActivity?extends?ActionBarActivity?implements?ListView.OnItemClickListener,ListView.OnScrollListener?{
????private?ListView?listView;
????private?ArrayAdapter?arrayAdapter;
????private?SimpleAdapter?simpleAdapter;
????private?List<Map>?data_list;
????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.activity_main);
????????listView?=?(ListView)findViewById(R.id.listView);
????????String[]?data?=?{"列表1","列表2","列表3","列表4","列表5"};
????????data_list?=?new?ArrayList<Map>();
????????arrayAdapter?=?new?ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
????????/**
?????????*?上下文
?????????*?數(shù)據(jù)源
?????????*?布局xml
?????????*?數(shù)據(jù)源的字段
?????????*?布局xml中對應(yīng)的字段
?????????*/
????????simpleAdapter?=?new?SimpleAdapter(this,getData(),R.layout.item,new?String[]{"pic","text"},new?int[]{R.id.pic,R.id.text});
????????//listView.setAdapter(arrayAdapter);
????????listView.setAdapter(simpleAdapter);
????????listView.setOnItemClickListener(this);
????????listView.setOnScrollListener(this);
????}
????private?List<Map>?getData(){
????????for(int?i?=?0;?i?<?40?;?++i){
????????????Mapmap?=?new?HashMap();
????????????map.put("pic",R.mipmap.ic_launcher);
????????????map.put("text",?"文本"?+?i);
????????????data_list.add(map);
????????}
????????return?data_list;
????}
????@Override
????public?void?onItemClick(AdapterView?parent,?View?view,?int?position,?long?id)?{
????????String?str?=?listView.getItemAtPosition(position).toString();
????????Toast.makeText(getApplicationContext(),position+"=>"+str,Toast.LENGTH_SHORT).show();
????}
????@Override
????public?void?onScrollStateChanged(AbsListView?view,?int?scrollState)?{
????????switch?(scrollState){
????????????case?SCROLL_STATE_FLING:
????????????????Log.i("main",?"手指快速滑動屏幕并離開,導(dǎo)致視圖一直滑動");
????????????????Mapmap?=?new?HashMap();
????????????????//簡單的滑動刷新
????????????????map.put("pic",R.mipmap.ic_launcher);
????????????????map.put("text",?"新的文本"+?System.currentTimeMillis());
????????????????data_list.add(map);
????????????????listView.deferNotifyDataSetChanged();?//通知數(shù)據(jù)源
????????????????break;
????????????case?SCROLL_STATE_IDLE:
????????????????Log.i("main","視圖停止滑動");
????????????????break;
????????????case?SCROLL_STATE_TOUCH_SCROLL:
????????????????Log.i("main","手指真正屏幕上滑動");
????????????????break;
????????}
????}
????@Override
????public?void?onScroll(AbsListView?view,?int?firstVisibleItem,?int?visibleItemCount,?int?totalItemCount)?{
????}
}item.xml





