множественные выборки после длинного нажатия - PullRequest
0 голосов
/ 01 октября 2019

Я хочу сделать так, чтобы после выполнения длинного нажатия на листе он был выбран, а также запустил «режим множественного выбора», где вы можете обычно нажимать на другие листы, чтобы выбрать их, а затем нажать 2 кнопки, либо отменитьили готово, оба из которых на данный момент просто выйдут из режима множественного выбора и отменит выбор каждого списка

На данный момент я должен нажать и удерживать каждый список, и они меняют цвет фона на черный

class _TaskTileState extends State<TaskTile> {
  var _selected = false;
  void _handleLongPress() {
    setState(() {
      _selected = !_selected;
    });  
  }

  @override
  Widget build(BuildContext context) {
    final bloc = Provider.of<ProjectBloc>(context);
    return Card(
      color: _selected ? Colors.black : Colors.white,
      child: AnimatedContainer(
        color: _selected ? Colors.black26 : Colors.white,
        duration: const Duration(milliseconds: 400),
        child: ListTile(
          subtitle: Text(widget.subtitle),
          selected: _selected,
          onTap: () {
            Navigator.push(
              context,
              MaterialPageRoute(
                builder: (context) => TaskEdit(
                  checked: widget.checked,
                  title: widget.title,
                  subtitle: widget.subtitle,
                  taskId: widget.taskId,
                  checklistId: widget.checklistId,
                ),
              ),
            );
          },
          title: Text(widget.title),
          onLongPress: _handleLongPress,
          trailing: Visibility(
            visible: visible,
            child: Checkbox(
              value: widget.checked,
              onChanged: (bool value) {
                bloc.updateTask(bloc.activeProject, widget.checklistId,
                    widget.taskId, value);
              },
            ),
            replacement: IconButton(
              icon: Icon(Icons.delete),
              onPressed: null,
            ),
          ),
        ),
      ),
    );
  }
}

Так что я могунажмите на списках и сделайте их фон черным, но я хочу иметь возможность нажимать только на один лист, а затем открывать, как режим множественного выбора, где я могу просто нажать на другие списки и иметь 2 варианта, либо отменить, либо сделать,функции для выбора могут быть добавлены позже

...