我是Kotlin的新手,我创建了一个常量数组以用于片段内部的微调器。当我尝试运行代码时,应用程序崩溃。我试图找到一种解决方案,但是没有找到。 真正奇怪的部分是,昨天我工作时,它工作得很好,今天崩溃了。
这是我的片段:
class PersonalDetailsFragment : Fragment() {
private lateinit var listener: OnChangeFragmentListener
override fun onAttach(context: Context?) {
super.onAttach(context)
listener = getListenerOrThrowException(OnChangeFragmentListener::class.java)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val v = inflater.inflate(R.layout.fragment_personal_deatails, container, false)
v.spinnerAge.adapter = ArrayAdapter<Int>(context, android.R.layout.simple_list_item_1, LIST_AGE)
v.btnGoDetails.setOnClickListener { listener.changeFragment() }
return v
}
这是我的Constant课:
class Constant {
companion object {
@JvmField val LIST_AGE = getAgeList()
private fun getAgeList(): Array<Int?> {
val array = arrayOfNulls<Int>(83)
for (i in array.indices){
var age = i + 17
array[i] = age
}
return array
}
}
错误日志:
2019-06-06 19:02:53.732 18331-18331/com.eldareini.kotlin.meet4match
E/tlin.meet4matc: No package ID 7f found for ID 0x7f0d0044.
2019-06-06 19:02:53.732 18331-18331/com.eldareini.kotlin.meet4match
D/AndroidRuntime: Shutting down VM
2019-06-06 19:02:53.736 18331-18331/com.eldareini.kotlin.meet4match E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.eldareini.kotlin.meet4match, PID: 18331
java.lang.ExceptionInInitializerError
at com.eldareini.kotlin.meet4match.signup.PersonalDetailsFragment.onCreateView(PersonalDetailsFragment.kt:57)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f0d0044
at android.content.res.Resources.getText(Resources.java:348)
at android.content.res.Resources.getString(Resources.java:441)
at com.eldareini.kotlin.meet4match.Constant.<clinit>(Constant.kt:69)
at com.eldareini.kotlin.meet4match.signup.PersonalDetailsFragment.onCreateView(PersonalDetailsFragment.kt:57)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)