Flutter给Item中的某一组件添加事件监听

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且点击不触发。
原因很简单:()=> 符号表示传递的是回调函数,不使用的话表示直接执行这个函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值