gpt4 book ai didi

flutter - 如何访问窗口小部件或刚刚单击的按钮的文本?

转载 作者:行者123 更新时间:2023-12-03 04:20:32 25 4
gpt4 key购买 nike

我想将单击的按钮添加到列表中,但我不知道如何访问单击的按钮本身。
这是我的current list of Buttons
通过以下方式创建:for (var stand in stands) StandCreation(stand)这是我要填写的 list :List<String||Widget> SelectedStandList = []这就是我创建每个“按钮”的方式:

import 'package:flutter/material.dart';
class StandCreation extends StatelessWidget {
final String stand;
StandCreation(this.stand);

@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {}, // Here i would like to do something like SelectedStandList.add(tappedInkWell)
child: Container(
width: double.infinity,
margin: const EdgeInsets.only(
top: 5,
bottom: 5,
),
padding: const EdgeInsets.all(3.0),
color: Colors.blue,
child: Text(
stand,
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 23,
fontWeight: FontWeight.bold,
),
),
),
);
}
}
然后,我希望使用列表创建一个仅包含所选项目的新屏幕。
感谢任何帮助!

最佳答案

使用ListView.builder而不是For循环。将您的StandCreation更改为此:

final VoidCallback onPressed;
StandCreation({this.stand, this.onPressed});
并将 onTap更改为此:
onTap: onPressed
最后将您的For循环更改为此:
ListView.builder(
itemCount: 6, // how many buttons you want
itemBuilder: (context, index) {
return StandCreation(stand: stand,
onPressed:(){
// Here is your onclick, do whatever you want with it
}
)
},
)
如果您希望每个 onPressed函数具有不同的操作,则可以在其中简单地放置一个 If语句:
   onPressed:(){
if(index==0) //do something with first button
}

关于flutter - 如何访问窗口小部件或刚刚单击的按钮的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62865669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com