【发布时间】:2019-06-21 20:58:40
【问题描述】:
我的代码中有价值:
val mainFileName = "Untitled list"
据我所知,处理字符串的最佳方法是使用字符串资源,所以在字符串资源文件中我创建了这个字符串:
<string name="untitled_list">Untitled list</string>
为了测试我是否做对了,我在吐司上测试了那个字符串,一切正常:
Toast.makeText(this, R.string.untitled_list,Toast.LENGTH_SHORT).show()
然后我尝试通过这样做(在 MainActivity 类内但在方法 OnCreate 之外)分配给“mainFileName”该字符串资源:
val previewOfNewListTitle = resources.getString(R.string.untitled_list)
但我得到一个错误:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.content.ContextWrapper.getResources(ContextWrapper.java:91)
at android.view.ContextThemeWrapper.getResourcesInternal(ContextThemeWrapper.java:127)
at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:121)
at android.support.v7.app.AppCompatActivity.getResources(AppCompatActivity.java:543)
at lt.tetro.myapplication.MainActivity.<init>(MainActivity.kt:121)
如何将字符串资源文本分配给 MainActivity 类中的“mainFileName”?
【问题讨论】: