Kotlin片段

我有一个简单的活动。 在这个活动中,我想开始一个片段。 但片段不启动。

这是我的活动

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //start Homefragment startHomeFragment() } /** * Create Homefragment */ private fun startHomeFragment() { val homeFragment = fragmentManager.findFragmentByTag(statics.TAG) ?: HomeFragment() fragmentManager.beginTransaction() .replace(R.id.container, homeFragment, statics.TAG) .commit() } 

这是我的片段

 class HomeFragment : Fragment() { object statics { @JvmField val TAG = "Homefragment" } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { return super.onCreateView(inflater, container, savedInstanceState) inflater?.inflate(R.layout.fragment_home, container) background_home.setBackgroundResource(R.drawable.gc_bg_home) 

所有的代码之后

  return super.onCreateView(inflater, container, savedInstanceState) 

是无法达到的。 只要阅读IDE警告。

此外,只有从onCreateView返回时,布局才会附加,即return inflater.inflate(...)

解决了:

class HomeFragment:Fragment(){

 object statics { @JvmField val TAG = "Homefragment" } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { Toast.makeText(activity, "HomeFragment", Toast.LENGTH_SHORT).show() return inflater?.inflate(R.layout.fragment_home, container, false) } 

}