Flutter 颤振如何在规格列表视图中显示/隐藏容器
我在ListView.builder中显示我的数据,问题是我需要在特定列表中显示/隐藏小部件,但它应用于所有列表 我的代码Flutter 颤振如何在规格列表视图中显示/隐藏容器,flutter,dart,Flutter,Dart,我在ListView.builder中显示我的数据,问题是我需要在特定列表中显示/隐藏小部件,但它应用于所有列表 我的代码 ListView.builder( itemCount: 3, itemBuilder: (context, index) { return GestureDetector( onTap: () { print('show'); setStat
ListView.builder(
itemCount: 3,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
print('show');
setState(() {
showQty = !showQty;
});
},
child: Column(
children: [
Text('Always'),
showQty ? Text('onClick') : Container()
],
),
);
})
你可以看到我有两个文本。当showQty为true时,我显示的第二个文本工作正常,但问题是它在所有itemBuilder上的更改我只需要显示它现在正在单击的项目及其在所有项目上的应用。因为您正在将单击应用于列表视图的所有项目。为了实现折叠和单击显示,您必须将bool应用于列表的特定索引。尝试如下
List<bool> showQty=[];
@override
void initState() {
super.initState();
for(int i=0;i<data.length;i++){
showQty.add(false);
}
}
void showHide(int i){
setState((){
showQty[i]=!showQty[i];
});
}
ListView.builder(
itemCount: data.length,
shrinkWrap:true,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
print('show');
showHide( index);
},
child: Column(
children: [
Text('Always'),
showQty[index] ? Text('onClick') : Container()
],
),
);
}
)
List showQty=[];
@凌驾
void initState(){
super.initState();
对于(int i=0;i对于显示和隐藏小部件,您可以使用可见性
小部件。
欲了解更多关于
希望能对您有所帮助。但您定义了false 3次,我只举了itemCount为3的例子,如果itemCount的长度类似于itemCount:data.length,那么它是否有效?