Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在特定文本单击时将文本小部件转换为文本字段小部件_Flutter_Dart_Text_Textfield - Fatal编程技术网

Flutter 在特定文本单击时将文本小部件转换为文本字段小部件

Flutter 在特定文本单击时将文本小部件转换为文本字段小部件,flutter,dart,text,textfield,Flutter,Dart,Text,Textfield,如果用户单击特定的文本,它应该转换为文本字段,我需要从用户那里获取输入值,到目前为止,我已经使用split将字符串添加到列表中,并使用listview显示列表项 我有两个疑问。 1.如何在特定文本单击时将文本转换为文本字段。 2.如果我在listview中重新运行textfield,它需要全宽,我不能通过给定宽度在容器中包装textfield,因为文本宽度可能会根据API响应而改变 如有任何建议,将不胜感激 String demoString='你可能想尝试吃更多健康的食物'; 新行(儿童:[

如果用户单击特定的文本,它应该转换为文本字段,我需要从用户那里获取输入值,到目前为止,我已经使用split将字符串添加到列表中,并使用listview显示列表项

我有两个疑问。 1.如何在特定文本单击时将文本转换为文本字段。 2.如果我在listview中重新运行textfield,它需要全宽,我不能通过给定宽度在容器中包装textfield,因为文本宽度可能会根据API响应而改变

如有任何建议,将不胜感激

String demoString='你可能想尝试吃更多健康的食物';
新行(儿童:[
扩大(
孩子:大小盒子(
高度:150.0,
子:ListView(
填充:边缘设置。全部(20),
滚动方向:轴水平,
儿童:demoString
.拆分(“”)
.map((字符串文本)=>填充(
填充:常数边集全部(18.0),
子:文本(文本)))
.toList(),
)))
])

为了能够点击并获取文本字段,您应该创建一个小部件(例如),用于检测他是否收到点击(gestureDetector/inkWell…),然后通过另一个部件更改一个部件

例如,MySwapWidget将包含以下想法:

MySwapWidget(
  selected: (default value, could be useful, false by default) true / false,
  childIfSelected: TextField(),
  childIfNotSelected: Text(),
)
MySwapWidget(
  selected: (default value, could be useful, false by default) true / false,
  childIfSelected: TextField(),
  childIfNotSelected: Text(),
)