title: flutter) If click on the text field, it will be rebuild
body: <p>I'm using Stream(Firestore) and I'm trying to output several text field widgets and edit them individually.  (Like creating and editing a text box in PPT)</p>
  <p>However, if click after creating a text field, the app will rebuild and cannot input it in the text field.</p>
  <p>The following is part of my code.</p>
  <pre><code>  Widget build(BuildContext context) {
      List&lt;TextBoxModel&gt; textBoxList = context.read&lt;DrawProvider&gt;().textBoxList;
  
      return StreamBuilder(
          // get firestore data
          stream: FirebaseFirestore.instance
              .collection(COL)
              .orderBy(DOC_CREATEDATE, descending: false)
              .snapshots(),
          builder: (context,
              AsyncSnapshot&lt;QuerySnapshot&lt;Map&lt;String, dynamic&gt;&gt;&gt; snapshot) {
            // error check
            if (snapshot.hasError) {
              return Center(child: Text('Something went wrong'));
            }
  
            // firestore loadding
            if (snapshot.connectionState == ConnectionState.waiting) {
              return Center(child: CircularProgressIndicator());
            }
  
            // get data and save
            textBoxList = [];
  
            for (int i = 0; i &lt; snapshot.data!.docs.length; i++) {
              TextBoxModel textBoxModel = TextBoxModel(
                // position
                top: snapshot.data!.docs[i].data()[DOC_DRAW_BOX_TOP] ?? 0,
                left: snapshot.data!.docs[i].data()[DOC_DRAW_BOX_LEFT] ?? 0,
                content: snapshot.data!.docs[i].data()[DOC_DRAW_CONTENT] ?? &quot;&quot;,
              );
  
              textBoxList.add(textBoxModel);
            }
  
        // text controller list test
        List&lt;TextEditingController&gt; controller =
            List.generate(textBoxList.length, (i) =&gt; TextEditingController());
  
        return Stack(
          children: [
            for (var i = 0; i &lt; textBoxList.length; i++)
              //  context.read&lt;DrawProvider&gt;().textBoxPosition.dx
              Positioned(
                left: textBoxList[i].left,
                top: textBoxList[i].top,
                child: _textBoxWidget( // textfield widget
                  textBoxModel: textBoxList[i],
                  controller: controller[i], // test
                ),
              )
          ],
        );
      });
  
    Widget _textBoxWidget({
      required TextBoxModel textBoxModel,
      required TextEditingController controller,
    }) {
      controller.text = textBoxModel.content; // test
  return Container(
    color: Colors.white,
    width: 200,
    height: 50,
    child: TextField(
      controller: controller,
      autofocus: false, // if focus, rebuild problem!
      onSubmitted: (text) {},
    ),
  );
  </code></pre>
  <p>}</p>
  <p>I think it's a problem that appears when I use it with StreamBuilder(). Can you tell me the suspected problems and solutions?</p>