问题描述
List<ApplicationMeta> apps = [];
@override
void initState() {
UpiPay.getInstalledUpiApplications().then((value) {
setState(() {
this.apps = value;
print('successfully append');
});
}).catchError((e) {
print('im in error part');
});
super.initState();
}
这个程序是关于 getupiapplications 的。 getInstalledUpiApplications() 函数返回“List”,但我已转换为 ApplicationMeta。我出错了。
解决方法
apps.forEach((app) => {
//do whatever with app
print(app.name); //or whatever
})
在上面的代码中,app
的类型为 ApplicationMeta
forEach 将让您遍历列表 app
中的每个 apps
。您的问题不清楚,但您似乎想迭代 List
。
感谢回复它的工作,但我面临另一个问题。我得到空值。这是我的代码
import 'package:flutter/material.dart';
import 'package:upi_pay/upi_pay.dart';
class Homes extends StatefulWidget {
@override
_HomesState createState() => _HomesState();
}
class _HomesState extends State<Homes> {
List<ApplicationMeta> apps = [];
@override
void initState() {
super.initState();
UpiPay.getInstalledUpiApplications().then((value) {
setState(() {
this.apps = value;
print('completed');
});
});
}
Widget cons() {
return Container(
color: Colors.black,child: Stack(children: [
ListView.builder(
itemCount: apps.length,itemBuilder: (buildContext,int i) {
print(apps[i]);
return apps[i].iconImage(48);
})
]),);
}
@override
Widget build(BuildContext context) {
return cons();
}
}