So I have 2 classes:
class A extends StatefulWidget {
A({Key? key}) : super(key: key);
@override
State<A> createState() => _AState();
}
class _AState extends State<A> {
@override
Widget build(BuildContext context) {
return Container();
}
void func(){}
}
And I want to override the _AState classes func() method. So I do this like this:
class B extends A{
final item = 10;
@override
State<A> createState() => _BState();
}
class _BState extends _AState{
@override
void func() {
widget.item //can't do this
}
}
I have no problem overriding the func() method, but now I also need to access my new variable item, that is declared in B class. And I know I can't do that because instance widget is provided by State<A> class.
So my question is: How to access the variable item from B class in _BState?
CodePudding user response:
Cast the widget to B object
class _BState extends _AState{
@override
void func() {
// (widget as B).item
}
}
