Inicio » Cursos » Flutter y Laravel App de Turismo

Curso Flutter y Laravel App de Turismo

Lección: 25 ➜ Pantalla Lista de Empresas

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

Lección 25: Pantalla Lista de Empresas

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"),
              );
            }
          },
        ),
      ),
    );
  }
}

 


830 visitas

Descarga el código del proyecto

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

Descargar ahora

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