首页 > 解决方案 > 将颤动的文本从文本字段转换为字符串,但字符串为空

问题描述

早上好,最近我开始使用颤振,我正在制作一个应用程序来从数据库中获取数据,为此我使用文本字段插入客户的代码,以便他可以获得他的债务余额,但是当我从文本字段中删除信息时使用 .toString 进行转换并按下它不会返回任何内容的按钮!我做了控制台来显示值,但它总是空的!

'''
文本字段

                        Container( child: TextField(//campo de texto

                      controller: cs.controlaTexto ,

                      keyboardType: TextInputType.number,//tipo de teclado a se utilizar no campo de texto

                      decoration: InputDecoration(//decoração do campo texto

                        border: OutlineInputBorder(),//borda do campo de texto

                        labelText: 'Código',//etiqueta do campo de texto),

                        inputFormatters: [
                          LengthLimitingTextInputFormatter(11)
                        ],
)'''

''' 按钮

                  FlatButton(//botao

                  color: Colors.blue,//cor do botao

                  textColor: Colors.white,// cor do texto do botao

                  disabledColor: Colors.grey,//cor do botao desativado

                  disabledTextColor: Colors.black,//cor do texto do botao desativado

                  padding: EdgeInsets.all(8.0),//contorno do botao

                  splashColor: Colors.blueAccent,//cor do toque do botao

                  onPressed: () {//ir para a pagina com o resultado da pesquisa

                    content: Text(cs.controlaTexto.text.toString());

                    cs.controlaTexto.text = pesquisa;

                    log(pesquisa);

                    servicos.getclientes();

                    Navigator.push(
                        context,
                        MaterialPageRoute(builder: (context) => Resultado()));

},'''

标签: androidiosflutterdart

解决方案


 // Copyright 2018 The Flutter team. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
import 'package:flutter/services.dart';
import 'package:brasil_fields/brasil_fields.dart';
import 'package:flutter/material.dart';
import 'tela.dart';
import 'selecionaTemas.dart';
import 'cliente.dart';
import 'servicos.dart';
import 'dart:developer';

import 'package:flutter/cupertino.dart';

  class consulta extends StatefulWidget {
    @override
     _consultaState createState() => _consultaState();
   }

   // Define a corresponding State class.
  // This class holds the data related to the Form.
   class _consultaState extends State<consulta> {
    // Create a text controller and use it to retrieve the current value
    // of the TextField.
    TextEditingController controlaTexto = new TextEditingController();




  @override
  Widget build(BuildContext context) {
 // Fill this out in the next step.
 }
}
 void main() {
 runApp(MyApp());
 }

class MyApp extends StatelessWidget with PortraitModeMixin {

  @override
  Widget build(BuildContext context) {
    super.build(context);
    return MaterialApp(
     theme: ThemeData.dark(),
     home: menu(),

);
}
}
  class menu extends StatelessWidget {
  _consultaState cs = new _consultaState();
 String pesquisa ="";
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
    theme: ThemeData.dark(),
    title: 'Busca Saldo',

  home: Scaffold(
    appBar: AppBar(

      title: Text('Busca saldo Estela',
      ),
      centerTitle: true,),

    body: Center(

        child: Container(

          child: Column(

              children: [
                Image.asset('android/assets/imgs/logo.png',//imagem
                  alignment: Alignment.topCenter,),
                Text('\n'
                    '', style: TextStyle(fontSize: 50))
                ,
                Text('Aplicativo para consultar saldo devedor',//texto
                  style: TextStyle(height: 1.2, fontSize: 18),),

                Text(
                  'Insira seu código de cliente no campo abaixo para consultar seu 
 saldo',//texto
                   textAlign: TextAlign.center,
                  style: TextStyle(height: 1.2, fontSize: 22),
                ),

                Container(
                    child: TextField(//campo de texto
                      controller: cs.controlaTexto ,
                      keyboardType: TextInputType.number,//tipo de teclado a se 
utilizar no campo de texto
                      decoration: InputDecoration(//decoração do campo texto
                        border: OutlineInputBorder(),//borda do campo de texto
                        labelText: 'Código',//etiqueta do campo de texto

                      ),

                        inputFormatters: [
                          LengthLimitingTextInputFormatter(11)
                        ],

             )

                )
                ,
                FlatButton(//botao
                  color: Colors.blue,//cor do botao
                  textColor: Colors.white,// cor do texto do botao
                  disabledColor: Colors.grey,//cor do botao desativado
                  disabledTextColor: Colors.black,//cor do texto do botao 
desativado
                  padding: EdgeInsets.all(8.0),//contorno do botao
                  splashColor: Colors.blueAccent,//cor do toque do botao
                  onPressed: () {//ir para a pagina com o resultado da pesquisa
                    content: Text(cs.controlaTexto.text.toString());
                    pesquisa = cs.controlaTexto.text;
                    log(pesquisa);
                   return showDialog(context: context,
                  builder: (context){
                 return AlertDialog(content: Text(cs.controlaTexto.text));
});
servicos.getclientes();
 Navigator.push(
 context,

                        MaterialPageRoute(builder: (context) => Resultado()));
                  },
                  child: Text(
                    "Consultar",//texto do botao
                    style: TextStyle(fontSize: 20.0),//tamanho do texto do botao
                  ),
                )
              ]),

        )

    ),

     ),
    );
  }
}
class Resultado extends StatelessWidget with selecionaTemas {
  @override
  menu m =  menu();
  Widget build(BuildContext context) {
   return Scaffold(

  appBar: AppBar(
    title: Text("resultado"),
  ),
  body: Center(
    child: Text("aaaaaaaaaaaaaaaaaaaaaaaaas"),
  ));



  }

}

推荐阅读