Null不能强制转换为非Null类型android.widget.RelativeLayout

Null不能强制转换为非Null类型android.widget.RelativeLayout,android,android-studio,kotlin,Android,Android Studio,Kotlin,错误: override fun onPrepareOptionsMenu(menu: Menu?): Boolean { val item = menu!!.findItem(R.id.menu_wrong_answer) val layout = item.actionView as RelativeLayout txt_wrong_answer = layout.findViewById(R.id.txt_wrong_answer) as TextView

错误:

override fun onPrepareOptionsMenu(menu: Menu?): Boolean {
    val item = menu!!.findItem(R.id.menu_wrong_answer)
    val layout = item.actionView as RelativeLayout
    txt_wrong_answer = layout.findViewById(R.id.txt_wrong_answer) as TextView
    txt_wrong_answer.text = 0.toString()
    return true
}

我猜问题是您在这里将null强制转换为RelativeLayout:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.abhishek.quiz, PID: 23203
    kotlin.TypeCastException: null cannot be cast to non-null type android.widget.RelativeLayout
        at com.abhishek.quiz.QuestionActivity.onPrepareOptionsMenu(QuestionActivity.kt:260)
        at android.app.Activity.onPreparePanel(Activity.java:3564)
        at androidx.fragment.app.FragmentActivity.onPrepareOptionsPanel(FragmentActivity.java:502)
        at androidx.fragment.app.FragmentActivity.onPreparePanel(FragmentActivity.java:488)
        at androidx.appcompat.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:99)
        at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onPreparePanel(AppCompatDelegateImpl.java:2857)
        at androidx.appcompat.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:99)
        at androidx.appcompat.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:522)
        at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:456)
        at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:56)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6806)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

确保item.actionView不等于null

“null不能转换为非null类型android.widget.RelativeLayout”的可能重复表示您尝试转换为RelativeLayout的item.actionView为null。在使用它之前,应该确保它不为null
val layout = item.actionView as RelativeLayout