es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El tipo de argumento ‘List‘ no se puede asignar al tipo de parámetro ‘List‘. ¿Qué estoy haciendo mal? Baby Flutterer Aquí.

Estoy tratando de crear una lista de tipo User, y si esa lista no está vacía, proporcionar el siguiente usuario en la lista. He leído tantos documentos de Flutter como mi cerebro puede retener, y estoy perdido.

“`
class _SwipePageState extends State implements PreferredSizeWidget {
getUsers() async {
Box box = await Hive.openBox(‘usersBox’);
swipableUsers = box.values.toList();
}
}

List swipableUsers = [];
@override
Widget build(BuildContext context) => Scaffold(
appBar: PreferredSize(
preferredSize: const Size.fromHeight(100),
child: Container(color: Colors.transparent),
),
body: Padding(
padding: const EdgeInsets.all(8),
child: Column(
children: [
swipableUsers.isEmpty
? const Text(‘No hay más usuarios’)
: Stack(children: swipableUsers.map(buildUser).toList()),
Expanded(child: Container()),
const BottomButtonsWidget()
],
),
),
);

Widget buildUser(User currentUser) {
int userIndex = swipableUsers.indexOf(currentUser);
bool isUserInFocus = userIndex == swipableUsers.length – 1;
//Hacer otras cosas con currentUser
}

El error se encuentra en : Stack(children: swipableUsers.map(buildUser).toList()), y el error es el título de esta pregunta, No se puede asignar el tipo de argumento 'Lista' al tipo de parámetro 'Lista'

¿Hay alguna posibilidad de salvar mi pequeña aplicación, o he enredado las cosas tanto que es inútil? Gracias de antemano por sus respuestas 🙂

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para corregir el error, debes indicarle explícitamente al compilador que la salida de swipableUsers.map(buildUser) es de tipo List<widget>. Puedes hacer esto agregando una anotación de tipo a la expresión:

    Stack(children: swipableUsers.map<widget>(buildUser).toList()),
    

    Esto debería resolver el error de tipo y permitir que tu aplicación se compile exitosamente.

Comments are closed.