切换显示大小导致的Activity重启,就不能利用configChange的属性去解决了,只能在加载的时候将Activity里面装载Fragment(如果本身代码就写在Fragment中就省事了),装载Fragment的时候,为Fragment添加标签Tag。
当切换完显示大小后,先判断是否有这个Fragment,如果有的话直接: supportFragmentManager.findFragmentByTag(标签),
把装载过的Fragment 查出来,不重新Add。
class GroupCreateActivity : Ra9BaseActivity() {
private var viewDataBinding: ActivityGroupCreateBinding? = null
private val tag = "groupCreate"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_group_create)
var fragmentResult = supportFragmentManager.findFragmentByTag(tag)
if (fragmentResult == null) {
fragmentResult = GroupCreateFragment()
supportFragmentManager
.beginTransaction()
.add(
R.id.frame_container,
fragmentResult,
tag
)
.commit()
}
initView()
}
}