我正在做一个应用程序,在这个应用程序中,我在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)发布于 2021-12-16 08:52:40
您的resources对象没有初始化,因此应该在类构造函数或方法中获得它。
类构造器
class Utils(private val resources: Resources) {
fun getAsiaCountriesFlags(): MutableList<Flag> {
...
}
}在方法
class Utils {
fun getAsiaCountriesFlags(resources: Resources): MutableList<Flag> {
...
}
}发布于 2021-12-16 08:50:42
**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);https://stackoverflow.com/questions/70376022
复制相似问题