从Flutter中的另一个文件中调用字符串列表



我的文件中有一个字符串列表,它实际上是在同一个文件中调用的,我想做的是移动这个字符串列表,然后从另一个文件移动,创建一个类,因为我需要从其他文件调用这些字符串。什么是最好的选择?这是我的代码:

class CmCategoryList extends StatefulWidget {
@override
_CmCategoryListState createState() => _CmCategoryListState();
}
class _CmCategoryListState extends State<CmCategoryList> {
List<String> names = <String>['Bellezza', 'Moda', 'Capelli', 'Estetica', 'Soldi', 'Finanza', 'Contabilità', 'Viaggi'];

@override
Widget build(BuildContext context) {
return ListView.builder(
scrollDirection: Axis.horizontal,
padding: const EdgeInsets.all(8),
itemCount: names.length,
itemBuilder: (BuildContext context, int index) {
return Container(
width: 100,
child: Card(
margin: EdgeInsets.all(2),
color: Colors.lightBlueAccent,
child: Center(
child: Text('${names[index]}',
style: TextStyle(fontSize: 15,fontWeight: FontWeight.w400,color: Colors.white),
)
),
),
);
}
);
}
}

正如您所看到的,List是在方法_CmCategoryListState上调用的,我想删除它,并将这样的List移动到另一个文件中,并将其称为

在我看来,最好的方法是创建一个名为resources.dart 的新文件

class Resources {
static final List<String> NAMES = ['Bellezza', 'Moda', 'Capelli', 'Estetica', 'Soldi', 'Finanza', 'Contabilità', 'Viaggi'];
}

这是假设你的列表永远不会改变。

无论你想在哪里使用这个列表,只要

import 'resources.dart'; // In the file you want
Resources.NAMES; // Like this, you can access the list

还有其他方法,但我觉得这更好,因为我确切地知道列表在哪个文件中,这样我以后可以根据需要进行更改。

最新更新