Listview是Flutter中比较常见的一种组件。
具体用法为:
new RefreshIndicator(
child: new Center(
child: new ListView.builder(
ItemCount: _getLength(),
itemBuilder: (BuildContext context,int position){
return _getListData(position);
}
)
),
onRefresh: _onEventRefresh
),
注意:
- RefreshIndicator 是下拉刷新控件,child中包含下拉控件包裹的范围,onRefresh中包含下拉的要实现的方法。
- onRefresh中的方法返回类型必须为Future,然后在该方法里面如果要用到异步方法,请用await 完成线程同步
- listview.builder 中itemCount 为获得的数据长度。
- getListData(position) 中实现item的布局。
ListView Item的点击事件
对于listview来说,如果不一定需要监听整个item的点击事件,而是只需要监听item中的某一个控件的点击事件,比如item中有一个按钮,只需要监听这个按钮的点击事件,这个怎么实现呢?
new Container(
alignment: Alignment.centerRight,
width: double.infinity,
child: new FlatButton(
onPressed: () => _readArticle(position),
child: new Text(
"查看全文",
style: new TextStyle(
color: Colors.blue
),
),
),
)
这里要特别注意下,onPressed后要写成onPressed: () => _readArticle(position)。如果直接调用onPressed: _readArticle(position)会造成初始化时加载_readArticle且点击不触发。
原因很简单:()=> 符号表示传递的是回调函数,不使用的话表示直接执行这个函数。
本文详细介绍Flutter中ListView组件的使用方法,包括如何构建可滚动列表、获取数据长度及实现item布局。同时,讲解RefreshIndicator组件的应用,演示如何实现下拉刷新功能及正确设置onRefresh方法。
431

被折叠的 条评论
为什么被折叠?



