【问题标题】:How can I get the row-ID or row-number in a ListTile?如何获取 ListTile 中的行 ID 或行号?
【发布时间】:2019-09-06 20:28:22
【问题描述】:

如果我有一个很长的 ListTiles 列表,如何获取行号.. 是否有行标识符?

没有可显示的代码。这只是一个一般性问题。

请在给我投反对票之前重新考虑一下。我将无法访问 StackOverview,而且我已经交了很多朋友。

【问题讨论】:

  • 嗨,基罗。关于您的最后一段,请注意您的问题并为之付出一些努力,因为我们也需要努力回答您的问题。在 stackoverflow 中,我们会付出一些努力来重视问题,也许是您尝试过的一些代码,或者您在哪里需要您所询问的内容,您尝试在某处搜索的一些信息(例如 ListTile 的文档)。明确你的目标是什么也很好。你在哪里尝试使用它。不要担心否决票。我知道这里的人有时很粗鲁,但这不是针对个人的。保重:)
  • 现在,问题来了:你是如何建立你的名单的?你有 ListView.builder(),或者你有一个循环,还是一个列表图块数组?有几种方法可以做到这一点,大多数情况下您必须在构建列表时传递索引号,就像您正在使用的索引的参数一样。如果您向我们展示一些代码,也许我们可以提供适当的帮助。
  • 可能是从这个question 复制的。正如@George 所说,如果没有ListView.builder(),您将无法做到这一点。
  • @ShadyBoshra 好的。没问题。

标签: flutter dart


【解决方案1】:

您可以创建ListView.builder 来完成此操作。示例代码如下所示:

List<...> items = ... //fill in whatever you need
ListView.builder(
    itemBuilder: (context, index) {
                        return buildRow(index);
                  },
)

然后在你的 buildRow 方法中你将拥有这个 onTapStatement

Widget buildRow(int index) {
    return ListTile(
        title: ..., //whatever you want, you can get data from sample list by
                   //doing items[index]
        onTap: () {
            //do what you want and your row number is index.
        } 
    );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多