实现自定义的有状态控件需要创建两个类
-
StatefulWidget的子类定义控件。
-
包含该控件的状态并定义控件的build()方法的State的子类。
第一步:决定哪个对象管理控件的状态
控件的状态可以通过多种方式进行管理,但在下面的示例中,控件本身,FavoriteWidget将管理自己的状态。
第二步:子类StatefulWidget
FavoriteWidget类管理自己的状态,所以它覆盖createState()来创建State对象,框架在构建控件时调用createState()。在这个例子中,createState()创建一个_FavoriteWidgetState的实例。
class FavoriteWidget extends StatefulWidget {
@override
_FavoriteWidgetState createState() => new _FavoriteWidgetState();
}