首页 > 解决方案 > 如何在文本小部件中显示动态内容?

问题描述

我想为ExpansionTile的标题显示不同的值,我在ExpansionTile标题前调用了showindex(index)方法来获取倾斜的动态内容,

当用户按下按钮时,我已经为索引分配了不同的值,并且我在 showindex(index) 方法中传递了该索引值

                    ExpansionTile(
                                    leading: Icon(Icons.text_fields),
                                    title: showindex(index),
                                    subtitle: Text("amahric words"),
                                    children: <Widget>[
                                      Container(
                                        width: 340,
                                        height: 45,
                                        color: Colors.purple,
                                        child: Padding(
                                          padding: const EdgeInsets.fromLTRB(
                                              50, 10, 0, 0),
                                          child: Text(
                                            GeezWords[index],
                                            style: TextStyle(fontSize: 20),
                                          ),
                                        ),
                                      ),
                                    ],
                                  ),

这是我根据索引值显示不同文本值的函数,

showindex(index) {
    if (index == 1) {
      Text(amharicWords[index]);
     
    } else {
      Text(EnglishWords[index]);
    }

标签: flutterdart

解决方案



class Expa extends StatefulWidget {
  @override
  _ExpaState createState() => _ExpaState();
}

class _ExpaState extends State<Expa> {
  int index = 0;

  final amharicWords = List.generate(4, (index) => "amhari $index");

  final EnglishWords = List.generate(4, (index) => "english $index");

  showindex(index) {
    if (index == 1) {
      return Text(amharicWords[index]);
    } else {
      return Text(EnglishWords[index]);
    }
  }

  @override
  Widget build(BuildContext context) {
    return ExpansionTile(
      leading: Icon(Icons.text_fields),
      title: showindex(index),
      subtitle: Text("amahric words"),
      children: <Widget>[
        GestureDetector(
          onTap: () {
            setState(() {
              index = 0;
            });
          },
          child: Container(
            alignment: Alignment.center,
            width: double.infinity,
            height: 45,
            color: Colors.purple,
            child: Text(
              EnglishWords[index],
              style: TextStyle(fontSize: 20),
            ),
          ),
        ),
        GestureDetector(
            onTap: () {
              setState(() {
                index = 1;
              });
            },
            child: Container(
              alignment: Alignment.center,
              height: 100,
              width: double.infinity,
              color: Colors.cyanAccent,
              child: Text("Index 1"),
            )),
      ],
    );
  }
}

这是你要归档的东西吗?


推荐阅读