Мне нужно реализовать длинное нажатие на элемент строки Flutter для Android и iOS. Любая помощь, пожалуйста?
Пока мой код:
class ListElement extends StatelessWidget {
ListElement({this.text, this.name, this.mId, this.animationController});
final String text;
final String name;
final String mId;
final AnimationController animationController;
@override
Widget build(BuildContext context) {
return new GestureDetector(
onTap: () {
Navigator.of(context).push(
new MaterialPageRoute(builder: (BuildContext context) => new DrugProfile(drugmId))
);
},
onLongPress: () {
//HERE I NEED TO SELECT MULTIPLE ROWS IF IT FIRES
},
child: new SizeTransition(
sizeFactor: new CurvedAnimation(
parent: animationController, curve: Curves.easeOut),
axisAlignment: 0.0,
child: new Container(
margin: const EdgeInsets.symmetric(vertical: 10.0),
child: new Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Container(
margin: const EdgeInsets.only(right: 16.0),
child: new CircleAvatar(child: new Text(name[0].toUpperCase())),
),
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Text(name, style: Theme.of(context).textTheme.subhead),
new Container(
margin: const EdgeInsets.only(top: 5.0),
child: new Text(
text,
textAlign: TextAlign.left,
style: new TextStyle(
fontSize: 13.0,),
),
),
],
),
),
],
),
)
)
);
}
}
Возможно, я ошибаюсь, начиная с события onLongPress, но мне нужно сделать следующее: Если longPress для элемента строки, тогда предоставьте возможность выбирать много строк. И после выбора затем выполните пользовательскую операцию со строками (это не является частью вопроса :)). После выбора я представляю массив индексов, которые я могу передать в функцию для дальнейших процессов. Мне нужна только помощь с множественным выбором элементов.