Listtile Multi-select - Flutter Firestore Streambuilder

i need help to build a quiz app with flutter, i use firestore for my data, and i want to add a multi choices question, so when a user tap on one choice, this one is highlighted, like this example

this is my code :

Widget _buildListItem(BuildContext context, DocumentSnapshot document) {

return ListTile(
  title: Container(
    margin: EdgeInsets.all(8.0),
    padding: EdgeInsets.fromLTRB(210, 0.0, 0.0, 0.0),
    decoration: BoxDecoration(
        color: Colors.white,
        border: Border.all(
            color: Colors.pink[800], // set border color
            width: 3.0), // set border width
        borderRadius: BorderRadius.all(
            Radius.circular(10.0)), // set rounded corner radius
        boxShadow: [
          BoxShadow(
              blurRadius: 5,
              color: Colors.black,
              offset: Offset(0.5, 1))
        ] // make rounded corner of border
        ),
      child: Row(
          children: <Widget>[
        Container(
            child: Text(
              document['rep'],
              style: TextStyle(
                fontSize: 50.0,
                color: Colors.black,
              ),
            ),
        )

          ]
      ),
  ),

  onTap: () {
    Firestore.instance.runTransaction(
            (transaction) async {
      DocumentSnapshot freshSnap =
      await transaction.get(document.reference);
      await transaction.update(freshSnap.reference, {
        'votes': freshSnap['votes'] + 1,
      });
    });


  },

);

@override Widget build(BuildContext context) { return Scaffold( body: Container(

child: StreamBuilder(
        stream: Firestore.instance.collection('questions').snapshots(),
        builder: (context, snapshot) {
          if (!snapshot.hasData) return const Text('Loading ...');
          return ListView.builder(
              padding: EdgeInsets.fromLTRB(50.0, 300.0, 50.0, 0.0),
              itemExtent: 100.0,
              itemCount: snapshot.data.documents.length,
              itemBuilder: (context, index) =>
                  _buildListItem(context, snapshot.data.documents[index]),
            );

        }),

  ),

  floatingActionButton: FloatingActionButton(
    onPressed: () {
      Navigator.push(
          context, MaterialPageRoute(builder: (context) => new Home()));
    },
    child: Text("Home"),
  ),

);

Thank you so much for your help

@Space_Jam Hey. It’s good that you have posted a snippet of your code, but please do mention what you have tried so far to achieve this and then we can take it from there :slight_smile:

import ‘package:flutter/material.dart’;

class TechData {
String Name;
String Email;
String Address;

TechData(this.Name, this.Email, this.Address);
}

class SecondScreen extends StatefulWidget {

@override
_SecondScreenState createState() => _SecondScreenState();
}

class _SecondScreenState extends State {

List list = [];
final _formKey = GlobalKey ();
TextEditingController NameController;
TextEditingController EmailController;
TextEditingController AddressController;

@override
void initState() {
super.initState();
NameController = TextEditingController();
EmailController = TextEditingController();
AddressController = TextEditingController();

}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(‘Second screen’)),
body: ListView.builder(
//itemCount: list.length,
itemBuilder: (context, [index]) {
return ListTile(
title: Text(),
);
},
),
);
}
}

mam plz clear the error some 10data stored in list go to next page listview