Text () не отображает значение записи переменной во время выполнения

#android #flutter

#Android #трепетание

Вопрос:

У меня есть шаг в шаговом

  Step(
                    title: Text("XXXX"),
                    content: Container(
                      alignment: Alignment.center,
                      decoration: BoxDecoration(
                        borderRadius: BorderRadius.circular(13),
                        color: Texte.color_blue,
                      ),
                      width: MediaQuery.of(context).size.width * 0.8,
                      margin: EdgeInsets.all(10),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.center,
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: <Widget>[
                          Container(
                            alignment: Alignment.center,
                            child: Text(
                              'XXXXn'  
                                  Texte.gesamtkaufpreis    <- Static string variable in file Texte.dart
                                  "€",
                              style: TextStyle(
                                  color: Colors.white,
                                  fontWeight: FontWeight.w600,
                                  fontSize: 18),
                              textAlign: TextAlign.center,
                            ),
                          ),
                        ],
                      ),
                      height: 100,
                    ),
                    state: StepState.complete,
                    isActive: true),
 

Я использую PageView with PageController .

Эти переменные, например Texte.gesamtkaufpreis , будут изменены на разных страницах.

На моем Huawei P30 Lite Android 10 все работает нормально.

На Samsung A51 Android 10 значение по умолчанию Texte.gesamtkaufpreis отображается в Step Stepper! -> Так что, как и значение Texte.gesamtkaufpreis , оно не изменяется!

Нет, я попытался немного поиграть setState(){} и WidgetsBinding.instance.addPostFrameCallback((_) принудительно «перекрасить» позже, и в какой-то степени это сработало…

Но мой вопрос: что это за странное поведение…

Ответ №1:

Используйте рекомендуемую конкатенацию строк для dart

 Text(
  'XXXXn '
      '${Texte.gesamtkaufpreis}'
      '€',
  style: TextStyle(
      color: Colors.white,
      fontWeight: FontWeight.w600,
      fontSize: 18),
  textAlign: TextAlign.center,
);