将一个片段转发到Kotlin中的另一个片段

时间:2018-12-29 21:43:11

标签: android android-fragments android-intent kotlin onclicklistener

我的主要活动有两个片段。如果单击一个“片段”项目,则需要移至下一个片段。如果它的活动为活动,那么我可以使用意图,如果它与片段相关,那么我不确定。任何帮助表示赞赏。

使用的语言

Kotlin

片段

OneFragement----->SecondFragment

代码

适配器类

itemView.setOnClickListener {

            Log.d("Test Clicked","Test Clicked")
        }

FragmentOne

val ft = fragmentManager!!.beginTransaction()
    ft.replace(R.id.Two, SecondFragment(), "NewFragmentTag")
    ft.commit()

1 个答案:

答案 0 :(得分:0)

MainActivity

fun replaceFragment(fragment: Fragment, tag: String) {
    supportFragmentManager.beginTransaction()
        .replace(R.id.container, fragment, tag).addToBackStack("").commit()
}

FragmentTwo

class FragmentTwo:Fragment(){

 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
   //your  code
}
 companion object {
    val TAG = FragmentTwo::class.java.simpleName
    @JvmStatic
    fun newInstance() = FragmentTwo()
  }
}

FragmentOne

class FragmentOne:Fragment(){

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

fun onItemSelected(){
    val frag=FragmentTwo.newInstance()
    (activity as MainActivity).replaceFragment(frag,FragmentTwo.TAG)
}
 companion object {
    val TAG = FragmentOne::class.java.simpleName
    @JvmStatic
    fun newInstance() = FragmentOne()
  }
}

在AdapterClass中

itemView.setOnClickListener{
    frag.onItemSelected()
}