FlutterNewbie
FlutterNewbie

Reputation: 37

dependOnInheritedWidgetOfExactType<_LocalizationsScope>

I translating in Text widgets(check List<Map<String, Object>> screens). To translate using intl plugin. Shows this error: enter image description here

My code:

class TabScreen extends StatefulWidget {
  @override
  _TabScreenState createState() => _TabScreenState();
}

class _TabScreenState extends State<TabScreen> {
  List<Map<String, Object>> screens;
  @override
  initState() {
    screens = [
      {
        "screen": DistanceScreen(),
        "title": Text(S.of(context).DistanceScreenTranslate) 
      },
      {"screen": TemperatureScreen(), "title": Text("Temperature Convertor")},
      {"screen": CurrencyScreen(), "title": Text("Currency Convertor")},
      {"screen": TimeScreen(), "title": Text("Time Convertor")},
      {"screen": NumberScreen(), "title": Text("Binary Convertor")},
    ];
    getCurrentExchangeRates();
    super.initState();
  }

  var selectedPageIndex = 0;
  void selectPage(int index) {
    setState(() {
      selectedPageIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        leading: Padding(
          padding: const EdgeInsets.all(4.0),
          child: Image.asset(
            'assets/icons/double-arrow.png',
            height: 5,
            width: 5,
          ),
        ),
        title: screens[selectedPageIndex]["title"],

Help me please!

Upvotes: 2

Views: 696

Answers (2)

geniusvale
geniusvale

Reputation: 91

You can use :

WidgetsBinding.instance!.addPostFrameCallback((_) async { $place your state to init here });

It could be async or not.

make sure to listen: false if using provider.

Upvotes: 0

Simon Sot
Simon Sot

Reputation: 3136

Text(S.of(context).DistanceScreenTranslate) : you do not have access to BuildContext in initState because it is yet to be created. Consider using same statements inside didChangeDependecies method. It is safe option to access BuildContext before build method.

Upvotes: 1

Related Questions