Kotlin中的Android应用程序不能正确地扩大片段布局

我有个问题。

我写了一个Java Android应用程序并转换为Kotlin。 它在Java中工作正常,但现在当我运行应用程序,它给了我一个RuntimeError。 片段不能被夸大:

错误

FATAL EXCEPTION: main Process: com.jaielsoft.www.emergencyapp, PID: 10753 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jaielsoft.www.emergencyapp/de.htw_berlin.f4.ai.aa.activities.MainActivity}: android.view.InflateException: Binary XML file line #0: Error inflating class fragment ... Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class fragment .... Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState .... 

以下是涉及的类和布局文件:

MainActivity.kt:

 package de.htw_berlin.f4.ai.aa.activities ... class MainActivity : FragmentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (savedInstanceState == null) this.setContentView(R.layout.mainlayout) } } 

mainlayout.xml

     

MainFragment.kt

 package de.htw_berlin.f4.ai.aa.fragments ... class MainFragment : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle): View? { return inflater.inflate(R.layout.mainfragmentlayout, container, false) } } 

mainfragmentlayout.xml

        

哪里有问题? 你能帮我么?

提前致谢

改变你的MainFragment这一行

  override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle): View? { 

  override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { 

请注意,我使用Bundle? savedInstanceState空作为savedInstanceState Bundle? 而不是Bundle 。 在Kotlin的Java类中重写方法时,通常会遇到一些问题,有时候您不知道参数是否可以为null。 在这种情况下, onCreateView可以(而且将)以savedInstanceState为空来调用,所以你可以使它为空。