我正在制作一個應用程式,在這個應用程式中,我在 strings.xml 檔案中寫入了國家/地區名稱。我想在我的 Utils 類中獲取這些國家/地區名稱,但我無法獲取這些字串。如果你能幫忙,我會很高興。我的代碼如下:
class Utils {
private var resources: Resources? = null
private val utils = resources!!
fun getAsiaCountriesFlags(): MutableList<Flag> {
return mutableListOf(
Flag(
R.drawable.asia_turkey,
listOf(
utils.getString(R.string.asia_armenia),
utils.getString(R.string.asia_iran),
utils.getString(R.string.asia_turkey),
utils.getString(R.string.asia_azerbaijan)
),
utils.getString(R.string.asia_turkey)
)
)
}
}
私有 val utils = 資源!!它在這條線上給了我一個錯誤。我得到的錯誤是這樣的:
Process: com.example.flagquizapp, PID: 8949
java.lang.NullPointerException
at com.example.flagquizapp.util.Utils.<init>(Utils.kt:10)
uj5u.com熱心網友回復:
**Before**
<string-array name="country_array">
<item>asia_armenia</item>
<item>asia_iran</item>
<item>asia_turkey</item>
<item>asia_azerbaijan</item>
<item>asia_turkey</item>
</string-array>
**Create res--> Array.xml**
**After**
var categories: Array<String?>
categories=getResources().getStringArray(R.array.vehiclescategory_array);
uj5u.com熱心網友回復:
您的resources物件未初始化,因此您應該在類建構式或方法中獲取它
類中的建構式
class Utils(private val resources: Resources) {
fun getAsiaCountriesFlags(): MutableList<Flag> {
...
}
}
在方法中
class Utils {
fun getAsiaCountriesFlags(resources: Resources): MutableList<Flag> {
...
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/383394.html
