Inicio » Cursos » Flutter y Laravel App de Turismo

Curso Flutter y Laravel App de Turismo

Capitulo 25 ➜ Pantalla Lista de Empresas

Pantalla Lista de Empresas

Implementación de la pantalla Empresas para mostrar una lista

La pantalla empresa mostrará las empresas que pertenezcan a una determinada ruta que haya sido elegida por el usuario, básicamente un listview

Es aqui donde vamos a cargar una lista de empresas desde la base de datos Sqlite y mostrarlas en un widget ListView con información necesaria solo para poder elegir y continuar con el flujo de uso de la app.

Veamos el código Dart

import 'package:app/basededatos/DBmanager.dart';
import 'package:app/basededatos/Ruta.dart';
import 'package:app/pantallas/pantallaEmpresa.dart';
import 'package:flutter/material.dart';

var basededatos = new DBmanager();

class pantallaEmpresas extends StatefulWidget {
  Ruta ruta;
  pantallaEmpresas(this.ruta);
  @override
  _pantallaEmpresasState createState() => _pantallaEmpresasState(this.ruta);
}

class _pantallaEmpresasState extends State<pantallaEmpresas> {
  Ruta ruta;

  _pantallaEmpresasState(this.ruta);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("RUTA "+ruta.nombre),
      ),
      backgroundColor: Colors.amber,
      body: Container(
        child: FutureBuilder(
          future: basededatos.obtenerEmpresas("ruta_id=" + ruta.id.toString()),
          builder: (BuildContext c, AsyncSnapshot s) {
            if (s.hasData) {
              return ListView.builder(
                  itemCount: s.data == null ? 0 : s.data.length,
                  itemBuilder: (_c, _i) {
                    return GestureDetector(
                      onTap: () {
                        Navigator.of(context).push(MaterialPageRoute(
                            builder: (BuildContext) =>
                                pantallaEmpresa(s.data[_i])));
                      },
                      child: Card(
                        elevation: 10,
                        margin: EdgeInsets.all(10),
                        child: Row(
                          children: [
                            Image.network(
                              "http://..../appturismo/public/img/empresa/" +
                                  s.data[_i].urllogo,
                              width: 120,
                              height: 120,
                              fit: BoxFit.cover,
                            ),
                            Text(
                              s.data[_i].razonsocial,
                              style: TextStyle(
                                fontSize: 20,
                                fontWeight: FontWeight.w700,
                                color: Colors.green,
                              ),
                            )
                          ],
                        ),
                      ),
                    );
                  });
            } else {
              return Center(
                child: Text("NO EXISTEN EMPRESAS"),
              );
            }
          },
        ),
      ),
    );
  }
}

 


895 visitas

Sigue con el curso: Capítulo 26 – Pantalla Empresa

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023