我正在制作一个神奇宝贝应用程序,但我在其他项目中已经遇到了一个问题,我想知道是否有人可以帮助我解决问题。
我从其他屏幕上收到一个名为pokemonName的变量,我想传递该变量并与“ Strings”类连接,就像Strings。+ pokemonName.toLowerCase(),转换为小写字母以从该类获取地图字符串,但我不知道该如何实现以消除开关,也不需要为每个神奇宝贝使用很多情况。
class PokemonDetailScreen extends StatelessWidget {
final String pokemonName;
final String image;
Map<String, dynamic> pokemonMap = {};
PokemonDetailScreen(this.pokemonName, this.image, this.index){
getPokemonMap();
}
@override
Widget build(BuildContext context) {
return Container();
}
void getPokemonMap(){
switch(pokemonName){
case "Bulbasaur":
pokemonMap = Strings.bulbasaur;
break;
case "Charmander":
pokemonMap = Strings.charmander;
break;
}
}
}
**Class in another dart file:**
class Strings {
static Map bulbasaur = {};
}
我需要的是这样的东西:
void getPokemonMap(){
pokemonMap = Strings.$pokemonMap.toLowerCase();
}
您可以做的是创建一个静态地图,该地图以口袋妖怪的名称为索引,并且其值为地图。
〜您可以使用JSON文件来完成所有这些操作,而不是使用类。〜