Android 柯特林片段

Android 柯特林片段,android,android-activity,fragment,kotlin,Android,Android Activity,Fragment,Kotlin,我有一个简单的活动。在这个活动中,我想开始一个片段。但是片段没有开始 这是我的活动 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //start Homefragment

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

这是我的活动

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
返回布局时,布局才会附加。e<代码>返回充气机。充气(…)

所有代码后

    return super.onCreateView(inflater, container, savedInstanceState)
这是遥不可及的。只需阅读IDE警告

此外,只有从
onCreateView
返回布局时,布局才会附加。e<代码>返回充气机。充气(…)

已解决:

类HomeFragment:Fragment(){

}

已解决:

类HomeFragment:Fragment(){


}在Kotlin中,onCreateView的应该是这样的

 override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
       return   inflater!!.inflate(R.layout.input_field_frag, container, false)
    }
如果您想在片段中添加一些东西,可以使用onViewCreated方法,在这里做任何您想做的事情

  override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

          //Here u can call function of add listners to button...

        })
    }

像这样,您将在Kotlin中创建一个安全适当的代码,,onCreateView应该是这样的

 override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
       return   inflater!!.inflate(R.layout.input_field_frag, container, false)
    }
如果您想在片段中添加一些东西,可以使用onViewCreated方法,在这里做任何您想做的事情

  override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

          //Here u can call function of add listners to button...

        })
    }

像这样,你将创建一个安全适当的代码

谢谢,你完全正确!但是如果我把代码放在“returnsuper.onCreateView(充气机、容器、savedInstanceState)”上面,我只得到了吐司。布局没有设置好谢谢,你完全正确!但是如果我把代码放在“returnsuper.onCreateView(充气机、容器、savedInstanceState)”上面,我只得到了吐司。布局未设置
@JvmField val TAG
可能是
常量val TAG
@JvmField val TAG
可能是
常量val TAG