我的屏幕包含一个文本字段。当我单击文本字段弹出列表视图生成器时。当我单击一个项目时,它应该在文本字段中显示内容。
以下是文本字段的代码:
Column(children: <Widget>[
Padding(
padding: const EdgeInsets.only(left:8.0,right:
8.0),child: Container(
color: Colors.green,height: 40.0,child: InkWell(
onTap: () =>{
loadCompanies(),_asyncSimpleDialog(context):CircularProgressIndicator()
},child: TextFormField(
enableInteractiveSelection: false,autofocus: false,enabled: false,decoration: InputDecoration(
hintText: "Search Company",border: OutlineInputBorder(),),Container(
width: double.infinity,padding:
EdgeInsets.only(left: 8.0,right: 8.0),child: RaisedButton(
color: Colors.deepPurpleaccent,onpressed: (){
},child: Text("Assign Company",style:
TextStyle(color: Colors.white),shape:
RoundedRectangleBorder(borderRadius:
BorderRadius.circular(5.0)),)
)
],)
这是Listview构建器的代码
Future<String> _asyncSDialog(BuildContext context) async {
return
await showDialog<String>(
context: context,barrierDismissible: true,builder: (BuildContext context) {
return
SimpleDialog(
title: const Text('Select Company',style: TextStyle(),children: <Widget>[
Container(
width: MediaQuery.of(context).size.width/2,height: MediaQuery.of(context).size.height/5,child: ListView.builder(
itemCount:
companylist.serviceCompanyDetails.length,itemBuilder: (BuildContext context,int index)
{
return GestureDetector(
onTap: (){
print("tapped
${companylist.serviceCompanyDetails[index].name}");
},child: Column(
children: <Widget>[
Container(
// color: Colors.grey,child: Center(child:
Text(companylist.serviceCompanyDetails[index].name,style:
TextStyle(
fontSize: 15.0
),maxLines: 1,)),height: 1.0,color: Colors.black,)
],);
}),)
],);
});
}
此外,当我单击列表视图生成器时,它应该从屏幕上删除,并且该值进入文本字段。 当我单击文本字段键盘时,不应弹出键盘,而是删除文本字段中存在的数据。