flutter - 从 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),
)
),
),
);
}
);
}
}
如您所见,在方法_CmCategoryListState 上调用了列表,我想删除它并将此类列表移动到另一个文件并调用它
解决方案
我认为最好的方法是创建一个名为 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
还有其他方法,但我发现这种方法更好,因为我确切地知道列表在哪个文件中,以便以后可以在需要时进行更改。
推荐阅读
- spring - 如何在 Maven 中包含依赖项中的 Spring 组件
- angular6 - 错误:rxjs/operator/map 没有导出的成员 'map'
- python - 如何从不同的python脚本到达pygame显示
- jquery - Checkboxthat 检查复选框的数量
- android - 当我用 flavorDimensions 打开experimental = true 时未解决的参考
- visual-studio-code - 语言模式设置为车把时使用 VSCode 插入 html 注释
- c++ - 在 Android Studio C++ 代码导航和分析不适用于 CMake 3.7 或更高版本
- firefox - 下载 golang 生成的文件时,文件下载适用于 Chrome,但不适用于 Firefox
- java - 这个运行了很长时间的合并排序代码有什么问题?
- javascript - Web IDE SAPUI5 XML 视图之间的路由不起作用?