Flutter 如何在Flatter中的Listview中显示字符串列表
我有字符串列表。我需要在接口中将它们显示为列表Flutter 如何在Flatter中的Listview中显示字符串列表,flutter,listview,dart,builder,Flutter,Listview,Dart,Builder,我有字符串列表。我需要在接口中将它们显示为列表 List<String> spec_list = urlremoved.split(", "); List spec\u List=urlremoved.split(“,”); 我只需要给他们看一下。但它不起作用。请帮助met查找错误。 我已附上下面的代码 import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/
List<String> spec_list = urlremoved.split(", ");
List spec\u List=urlremoved.split(“,”);
我只需要给他们看一下。但它不起作用。请帮助met查找错误。
我已附上下面的代码
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class ItemView extends StatefulWidget {
final String docID123;
const ItemView({ this.docID123}) ;
@override
_ItemViewState createState() => _ItemViewState();
}
String name123;
class _ItemViewState extends State<ItemView> {
@override
//String docuID = Widget.documentid;
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Item Data'),
),
body: ListView(
children: <Widget>[
Text(widget.docID123),
getItems(),
],
),
);
}
}
Widget getItems(){
return StreamBuilder(
//1597917013710
stream: Firestore.instance.collection('ads').document('1597917013710').snapshots(),
builder: (context, snapshot){
if (!snapshot.hasData) {
//snapshot.data.toString();
return new Text("Loading");
}
DocumentSnapshot dd = snapshot.data;
var userDocument = snapshot.data;
//String myname = dd.data.toString();
int len = dd.data.length;
String jsonString = dd.data.toString();
String start = "[";
String end = "]";
final startIndex = jsonString.indexOf(start);
final endIndex = jsonString.indexOf(end, startIndex + start.length);
String next = jsonString.substring(startIndex + start.length, endIndex);
String imagelinkRemoved = jsonString.replaceAll(next, "");
String urlremoved = imagelinkRemoved.replaceAll("urls: [], ", "").replaceAll("{", "").replaceAll("}", "");
List<String> spec_list = urlremoved.split(", ");
int speclistlen = spec_list.length;
return Container(
child: Column(
children: <Widget>[
Text(spec_list[0]),
ListView.builder(
itemCount: speclistlen,
itemBuilder: (context,index){
return Text(spec_list[index]);
},
)
],
),
);
}
);
}
Future getCatagory() async {
var firestone = Firestore.instance;
QuerySnapshot alldata = await firestone.collection("catagory_names/Vehicles").getDocuments();
for(int i=0;i<alldata.documents.length;i++){
DocumentSnapshot snap = alldata.documents[i];
}
return Text('12345');
}
import'包:cloud_firestore/cloud_firestore.dart';
进口“包装:颤振/材料.省道”;
类ItemView扩展了StatefulWidget{
最终字符串docID123;
const ItemView({this.docID123});
@凌驾
_ItemViewState createState()=>\u ItemViewState();
}
字符串名称123;
类_ItemViewState扩展状态{
@凌驾
//字符串docuID=Widget.documentid;
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“项目数据”),
),
正文:ListView(
儿童:[
文本(widget.docID123),
getItems(),
],
),
);
}
}
小部件getItems(){
返回流生成器(
//1597917013710
流:Firestore.instance.collection('ads')。文档('1597917013710')。快照(),
生成器:(上下文,快照){
如果(!snapshot.hasData){
//snapshot.data.toString();
返回新文本(“加载”);
}
DocumentSnapshot dd=snapshot.data;
var userDocument=snapshot.data;
//字符串myname=dd.data.toString();
int len=dd.data.length;
字符串jsonString=dd.data.toString();
字符串start=“[”;
字符串结束=“]”;
final startIndex=jsonString.indexOf(start);
final-endIndex=jsonString.indexOf(end,startIndex+start.length);
String next=jsonString.substring(startIndex+start.length,endIndex);
字符串imagelinkRemoved=jsonString.replaceAll(下一个“”);
字符串urlremoved=imagelinkRemoved.replaceAll(“URL:[],”,“”)。replaceAll(“{,”)。replaceAll(“},”);
List spec_List=urlremoved.split(“,”);
int speclistlen=spec_list.length;
返回容器(
子:列(
儿童:[
文本(规格列表[0]),
ListView.builder(
itemCount:speclistlen,
itemBuilder:(上下文,索引){
返回文本(规格列表[索引]);
},
)
],
),
);
}
);
}
Future getCatagory()异步{
var firestone=Firestore.instance;
QuerySnapshot alldata=wait firestone.collection(“分类名称/车辆”).getDocuments();
对于(int i=0;i仅当您的speclistlen
为空,而遵循上述代码时,您似乎遇到了未绑定高度异常。为避免出现这种情况,请使用shrinkWrap:true,
insideListview.Builder
Widget getItems() {
return StreamBuilder(
//1597917013710
stream: Stream.periodic(Duration(seconds: 2)),
builder: (context, snapshot) {
String urlremoved = "I, am, jits555";
List<String> spec_list = urlremoved.split(", ");
int speclistlen = spec_list.length;
return Container(
child: Column(
children: <Widget>[
Text(spec_list[0]),
ListView.builder(
shrinkWrap: true,
itemCount: speclistlen,
itemBuilder: (context, index) {
return Text(spec_list[index]);
},
)
],
),
);
});
}
Widget getItems(){
返回流生成器(
//1597917013710
流:流。周期性(持续时间(秒:2)),
生成器:(上下文,快照){
字符串urlremoved=“I,am,jits555”;
List spec_List=urlremoved.split(“,”);
int speclistlen=spec_list.length;
返回容器(
子:列(
儿童:[
文本(规格列表[0]),
ListView.builder(
收缩膜:对,
itemCount:speclistlen,
itemBuilder:(上下文,索引){
返回文本(规格列表[索引]);
},
)
],
),
);
});
}
您应该在列表视图.builder
中使用返回文本(spec\u list[index];
。我正在使用返回文本(spec\u list[index];…但没有输出,这可能是因为您的spec\u列表
为空。请尝试打印speclistlen
以查看它是否包含项。它不是空的