我有 List<ApplicationMeta> 我需要转换 ApplicationMeta 类型

问题描述

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();
  }
  }