Flutter如何在streambuilder中每N次添加一个项目到 ListView 中

标签 flutter admob

我正在尝试在我的 flutter 应用程序中放置广告,该应用程序显示来自 firebase 的项目流。为此,我使用插入方法,但每次都会收到错误; 错误:参数类型“Text”无法分配给参数类型“DocumentSnapshot”。

这就是我的做法

StreamBuilder(
            stream: stream,
            //stream: getposts(),
            builder: (BuildContext context,
                AsyncSnapshot<List<DocumentSnapshot>>snapshots) {
              var adcode=Text(" Ad goes here");
              snapshots.data.insert(2, adcode);

              return Flexible(
                  child: Container(
                    child: ListView.builder(
                   //listview items)


)

有什么想法可以解决上述错误,或者有什么其他方法可以在流构建器的项目之间每隔 N 个项目放置广告吗?我正在使用 Google Admob 软件包来转换广告

最佳答案

实现此目的的一种方法是创建一个新的List,然后像这样修改其内容。

var adcode = Text(" Ad goes here");
List<dynamic> finalList = snapshots.data;
finalList.insert(2, adcode);
// Use this finalList to build your Widget.

然后,如果您使用 ListView.builder,每当您到达第 n 索引时,您就可以读取数据并以不同的方式使用它,因为该索引处的数据是将是一个 Text 小部件,而不是您的 DocumentSnapshot

关于Flutter如何在streambuilder中每N次添加一个项目到 ListView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67763146/

相关文章:

Flutter - 如何导航到异步值上的另一个页面

ios - Flutter App 在 iOS 模拟器上发起 HTTP 请求失败

facebook - 网页中的 Flutter Facebook 登录

flutter - Dart比较int null安全问题: operator can't be unconditionally invoked because the receiver can be 'null'

ios - Admob 插页式自家广告

没有为类 FirebaseAuth 定义 Flutter firebase signInWithPhoneNumber

ios - 没有出现iOS 7 Google AdMob

大多数时候不会显示 Android AdMob 广告

java - 根据 Android API 级别包含外部库

android - 广告服务器没有填充