Android 如何在kotlin中从一个片段导航回另一个片段?
我正在通过单击“编辑”按钮从信息片段导航到设置片段。 现在我试图点击“返回”按钮,从设置片段返回信息片段,但当我点击“返回”按钮时,我只能看到一个没有任何显示的空信息片段 下面是我的代码 在InfoFragment.kt中Android 如何在kotlin中从一个片段导航回另一个片段?,android,kotlin,Android,Kotlin,我正在通过单击“编辑”按钮从信息片段导航到设置片段。 现在我试图点击“返回”按钮,从设置片段返回信息片段,但当我点击“返回”按钮时,我只能看到一个没有任何显示的空信息片段 下面是我的代码 在InfoFragment.kt中 private lateinit var data: ReloadResult companion object { fun newInstance(data: ReloadResult) = ReloadInfoFr
private lateinit var data: ReloadResult
companion object {
fun newInstance(data: ReloadResult) = ReloadInfoFragment().apply {
arguments = Bundle().apply {
putSerializable("RELOADDATA", data)
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onAttach(context: Context) {
super.onAttach(context)
arguments?.getSerializable("RELOADDATA")?.let {
data = it as ReloadResult
}
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
mActivity = activity as ReloadActivity
val view = inflater.inflate(R.layout.auto_reload_info, container, false)
return view
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()// a function to initialise my data needed for this fragment page
}
override fun onClick(view: View?) {
when (view?.id) {
R.id.edit_button -> {
SettingClickListener?.SettingClick(
"20",
"40"
)
}
}
}
在包含信息片段和设置片段的重载活动中
//when user press back in setting fragment
titleView.setOnLeftClick {
if (isSettingPage) {
switchFragment(infoFragment)
} else {
this.finish()
}
}
private fun switchFragment(fragment: Fragment): FragmentTransaction {
val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction()
if (!fragment.isAdded) {
fragmentTransaction.hide(currentFragment)
fragmentTransaction.replace(R.id.frame_layout, fragment, "Fragment")
.addToBackStack(null)
.commit()
} else {
fragmentTransaction.hide(currentFragment).show(fragment)
}
currentFragment = fragment
return fragmentTransaction
}
如何从一个片段“返回”到另一个片段,并恢复页面显示的原样?请在清单写入的活动标记中帮助我
android:configChanges="orientation|screenSize"
例如:
<activity android:name=".ReloadActivity"
android:configChanges="orientation|screenSize">
编辑:
检查推荐的黑色代码以替换片段中的片段
activity.supportFragmentManager.commit {
replace<FragmentClass>(R.id.fragment_id)
setReorderingAllowed(true)
addToBackStack("name") // name can be null
}
activity.supportFragmentManager.commit{
替换(R.id.fragment\U id)
setReorderingAllowed(真)
addToBackStack(“名称”)//名称可以为空
}
使用
setReorderingAllowed(true)
它可能会解决问题我已经添加了它,但它对我没有帮助@拉胡尔