Bonjour à tous,
J’ai mis en place une ReorderableListView qui affiche un widget éditable : Mon widget a deux états : Soit il affiche le titre du widget, soit quand il est en mode editable il y a un TextFormField pour modifier le titre. (Il fera plus de chose plus tard, donc le besoin est bien de faire ca)
Tout fonctionnait bien avec une ListView classique, cependant quand je suis passé à la ReorderableListView, lorsque je passe en mode éditable sur un des Widget et que je « tap » sur ce dernier pour l’éditer (ou même sur un autre widget de la list), le widget repasse en mode non éditable : son statut initial. Je souhaite qu’il reste en mode éditable jusqu’à ce que j’utilise le bouton de validation dédié pour ca.
Je pense que le problème vient du callBack onReorder
qui doit s’activer dès qu’on touche un widget de la List et donc remettre le widget dans son état intiale (mais j’en suis pas sur )
ReorderableListView.builder(
itemBuilder: _blockBoxBuilder,
itemCount: widget.viewModel.blocks.length,
onReorder: widget.viewModel.updateBlocksOrder,
),
@override
void updateBlocksOrder(int oldIndex, int newIndex) {
myObject.modifyBlockOrder(oldIndex, newIndex);
// notifyListeners(); J'ai éssayé d'enlever le notifyListener mais le problème reste le même.
}
void modifyBlockOrder(int oldIndex, int newIndex) {
//Isar define list as ungrowable so this code is necessary
List<Block> newBlocks = List<Block>.from(blocks);
//adjustment needed to moove the block down the list
if (oldIndex < newIndex) {
newIndex--;
}
//get the block we are moving
final block = newBlocks.removeAt(oldIndex);
//place the block in the new position
newBlocks.insert(newIndex, block);
blocks = newBlocks;
}
Est ce que quelqu’un a déjà eu ce problème et a trouvé une solution ?