【发布时间】:2019-11-17 17:53:34
【问题描述】:
这是我正在使用的代码,我在 lib 文件夹中创建了一个名为 HomePage 的新文件夹,并将我的 Home.dart 文件放在那里,一切都很好,直到我进入 setState。 setState 根本不起作用。
Main.Dart 代码
import 'package:flutter/material.dart';
import 'package:test_project1/HomePage/Home.dart';
main() => runApp(new DarkX());
class DarkX extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new DarkXState();
}
}
class DarkXState extends State<DarkX>{
@override
Widget build(BuildContext context) {
var home = new DarkXAppHomePage().createHomePage();
return home;
}
}
Home.Dart 代码 `
import 'package:flutter/material.dart';
class DarkXAppHomePage {
var _isLoading = true;
createHomePage(){
var homePageScaffold = createHomePageScaffold();
return MaterialApp(home: homePageScaffold, debugShowCheckedModeBanner: false);
}
//Scaffold For Home Page
createHomePageScaffold(){
var homeAppbar = homeAppBar();
var homebody = homeBody();
var scaffold = new Scaffold(appBar: homeAppbar, body: homebody,);
return scaffold;
}
//AppBar For Home Page
homeAppBar(){
var text = createText('Welcome');
var refreshbutton = refreshButton(refreshHomePage);
var appBar = new AppBar(title: text,actions: <Widget>[refreshbutton],);
return appBar;
}
//Body For Home Page
homeBody(){
var loadingState = _isLoading ? CircularProgressIndicator() : createText('Finished Loading');
return new Center(child: loadingState);
}
refreshButton(Function onPress){
var refreshicon = refreshIcon();
var refreshbutton = new IconButton(icon: refreshicon, onPressed: (){
onPress();
},);
return refreshbutton;
}
//homepage Refresh Action
refreshHomePage(){
setState(){
_isLoading = false;
}
}
//Create Text
createText( String text ){
var newText = new Text(text);
return newText;
}
//Refresh Icon
refreshIcon(){
var refreshicon = new Icon(Icons.refresh);
return refreshicon;
}
}
现在,当我在 refreshHomePage 函数中使用 setState 时,它不起作用并出现警告“未引用声明 'setState'。 尝试删除 'setState'.dart(unused_element)" 的声明。请有任何建议。 任何帮助表示赞赏。
【问题讨论】: