问题描述
我正在构建需要精简的Flutter应用程序。但是,它不能正常工作。当我添加一个项目时,该项目直到我离开并返回屏幕时才显示,并且删除完全不起作用。
import 'package:Flutter/material.dart';
import 'package:Flutter/services.dart';
import 'package:gestao_financeira_app/DatabaseConnections/DAO_Objects/ClassesDAO.dart';
import 'package:gestao_financeira_app/Models/Config/ClassesModel.dart';
import '../MenuScaffold/MenuScaffold.dart';
import 'package:Flutter_masked_text/Flutter_masked_text.dart';
import 'package:Flutter/material.dart';
class ClassesConfig extends StatefulWidget {
ClassesGeneral createState() => ClassesGeneral();
}
class ClassesGeneral extends State<ClassesConfig> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Configuração de Classes"),backgroundColor: Colors.purple[300],),persistentFooterButtons: <Widget>[BotaoAdd()],body:
Container(padding: EdgeInsets.all(10.0),child: TelaConfigClasses()),drawer: MenuScaffold(),backgroundColor: Colors.grey[300],);
}
}
class TelaConfigClasses extends StatelessWidget {
@override
var controller = new MoneyMaskedTextController(
decimalSeparator: ',',thousandSeparator: '.');
var fonteLocal = TextStyle(fontSize: 30);
//var teste = new ClassesModel(id: 1,nome_classe: "null",tipo_classe: "Despesa");
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
Text(
"Classes de Rendas",style: fonteLocal,Container(
height: MediaQuery.of(context).size.height * 0.60,child: ItensLista(),decoration: Boxdecoration(
borderRadius: BorderRadius.circular(15),color: Colors.white,Container(height: 10),Text(
"Classes de Despesas",],);
}
}
class BotaoAdd extends StatelessWidget {
@override
var teste = new ClassesModel(
id_entry: 55855,nome_classe: "Classe",tipo_classe: "Renda");
Widget build(BuildContext context) {
// Todo: implement build
return ButtonTheme(
height: MediaQuery.of(context).size.height * 0.08,minWidth: MediaQuery.of(context).size.height * 1,child: RaisedButton(
color: Colors.purple[300],onpressed: () {
print(teste);
ClassesDAO().insertClass(teste);
//ItensLista().build(context);
},child: RichText(
text: TextSpan(
children: [
TextSpan(
text: 'Adicionar Classe ',style: TextStyle(color: Colors.white,fontSize: 20)),WidgetSpan(
child: Icon(
Icons.add,);
}
}
class ItensLista extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Todo: implement build
return FutureBuilder<dynamic>(
future: ClassesDAO().getAllClasses(),builder: (context,snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
//print("valor total = "+valFin.toString());
var objeto = [];
for (var i in snapshot.data) {
objeto.add(i);
}
return ListView.builder(
itemCount: objeto.length,itemBuilder: (context,index) {
return ListTile(
title: Text(objeto[index].toString()),trailing: RaisedButton(
child: Text("delete"),onpressed: () {
print("TEste");
var X = new ClassesDAO().delete(objeto[index]);
new ItensLista().build(context);
print("TEste");
print(X);
},onTap: () async {
ClassesDAO().delete(objeto[index]);
},onLongPress: () {},);
},);
} else if (snapshot.hasError) {
throw snapshot.error;
} else {
return Center(child: CircularProgressIndicator());
}
},);
}
}
,这是目前正在使用的应用的小视频 https://drive.google.com/file/d/1NgMzOe_o-dJoHd73nqYjg8x3_ppZf8SZ/view?usp=sharing
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)