我正在嘗試在我的應用程式中實作不同的語言(英語和西班牙語),這就是我的想法:
String selectedLanguage = 'en';
const Map<String, Map<String, String>> languageLabels = {
'en': {
'label1': 'label in English',
},
'es': {
'label1': 'label in Spanish',
},
};
我打算將它用作:
static String label1 = languageLabels[selectedLanguage['label1']];
但我不斷收到此錯誤
錯誤:無法將“String”型別的值分配給“int”型別的變數。
static String label1 = languageLabels[selectedLanguage['label1']];
_____________________________________________________________________^
我讀到這是因為空安全,但我只是不知道如何解決它。
uj5u.com熱心網友回復:
嘗試以這種方式分配
String? label1 = languageLabels[selectedLanguage]?['label1'];
或者
String label1 = languageLabels[selectedLanguage]?['label1'] ?? '';
或者(我不建議這樣做)如果你確定你永遠不會得到null價值:
String label1 = languageLabels[selectedLanguage]!['label1']!;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/343332.html
上一篇:androidstudio不在iso模擬器上運行我的應用程式
下一篇:僅在用戶輸入憑據時才添加登錄按鈕
