listView:显示列表的控件;
数据适配器:连接数据源与视图界面的桥梁;
ArrayAdapter--数组;
SimpleAdapter--复杂的数据类型;
SimpleAdapter的构造函数:
new SimpleAdapter(context,data,resource,from,to);
context--上下文;
data --数据源,一个map所组成的list集合,每一个map对应的是listview中的一行,每一个map
的key必须包含所有在from中所指的值;
resource为每一个列表项的布局文件id;
from --记录map中的key;
to --绑定数据视图的id,与from对应;
ArrayAdapter:
第一步:声明listView与适配器,初始化listView;
第二步:new ArrayAdapter<String>(,,);
第三步;listView.setAdapter(adapter);
SimpleAdapter:
第一步:声明listView,datalist与适配器,初始化listView;
第二步:new SimpleAdapter(this,data,resource,from,to);
datalist= new ArrayAdpter<Map<String,Ibject>>();
resource-要在layout中新建一个item的xml文件linearLayout,把控件拖入其中作为每一个列表项
的布局格式;
to为new出resource文件中所有控件的id如new int[]{R.id.imageView,R.id.TextView};
from为new String[]{"imageView","TextView"};
data:
1.创建List<Map<String,Object>> dataList;
2.dataList=new ArrayList<Map<String,Object>>();
3.定义函数getData();
private List<Map<String,Object>> getData()
{
for(int i=0;i<20;i++)
{
Map<String,Object>map=new HashMap<String,Object>();
map.put("imageView",R.drawable....);
map.put("TextView","imooc"+i);
dataList.add(map);
}
return dataList;
}
监听器:
OnItemClickListener:单条目的点击事件;
OnScrollListener:滚动中加载数据;
OnItemClickListener():
第一步:在Activity中通过接口方式实现implements OnItemClickListener();
第二步:让listView加载事件监听器setOnItemClickListener(this);
第三步:在OnItemClickListener()函数中,通过listView的getItemAtPosition(position)获得位
置值,并将值传给position;通过Toast.makeText(context,text,duration).show();
context--this为上下文;
text--"position :"+position 输出内容;
duration--Toast.LENGTH_SHORT为打印时长;
OnScrollListener():
第一步:同OnItemClickListener()的第一步;
创建出了两个函数onScrollStateChanged(),onScroll();
第二步:让listView加载事件监听器setOnScrollListener(this);
第三步:在OnScrollStateChange()中scrollState共有3种状态:
SCROLL_STATE_FLING:用户在手指离开屏幕前用力滑动,由于惯性继续滑动;
SCROLL_STATE_IDLE:视图已经停止;
SCROLL_STATE_TOUCH_SCROLL:用户手指没有离开屏幕,正在滑动;
simp_adapter.notifyDataSetChanged();通知UI重新刷新;
well_liu
2014-08-26
1 回答
举报
0/150
提交
取消