search
LoginSignup
8
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

TextなどのWidgetに変数が埋め込めない時の対処法【Flutter】

はじめに

以下のようにコードを実行すると、Evaluation of this constant expression throws an exception.というエラーが出てきます。

sample.dart
const ListTile(
  title: Padding(
    child: Text(
      widget.title,
      style: TextStyle(
          fontSize: 23.0, fontWeight: FontWeight.bold
      ),
    ),
    padding: EdgeInsets.all(5.0),
  ),
),

Text_Bug.png

対処法

はじめは、Text()のwidgetには変数の埋め込みができないのか?RichTextじゃないとできないのか?などと色々と試しましたが、とても簡単な話でした。理由は、「親Widgetにconstが入っていたから」でした。

smaple.dart
ListTile(
  title: Padding(
    child: Text(
      widget.title,
      style: TextStyle(
          fontSize: 23.0, fontWeight: FontWeight.bold
      ),
    ),
    padding: EdgeInsets.all(5.0),
  ),
),

こんな簡単なバグにかれこれ30分ほど時間を取られてしまいました。
いくら検索しても出てこなかったことは、納得ですね。

同じような境遇にあっている誰かの検索にヒットすることを願い、記事として残しました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
8
Help us understand the problem. What are the problem?