gpt4 book ai didi

android - 这个集合添加 fragment 代码块可以变得更简单吗(Kotlin)

转载 作者:行者123 更新时间:2023-11-30 00:02:56 24 4
gpt4 key购买 nike

我是 Kotlin 新手。当后台堆栈中没有 fragment 时,我写了这个代码块来添加一个 fragment 。然而,我的代码块看起来有点笨拙。可以用更好的方式编写吗?

with(supportFragmentManager) {
takeIf { backStackEntryCount == 0 }
?. apply {
with(beginTransaction()) {
add(R.id.container, FirstFragment())
commit()
}
}
}

另外,with(beginTransaction()) 向我显示了应该提交事务的 lint 警告 ()。我认为这与我对它的错误实现有关。请告诉我如何消除该 lint 警告。

编辑 1

不是在这里,而是在某些地方我会执行一些其他操作以及 add()。诸如将 fragment 添加到 backstack 和提供自定义转换之类的东西。

activity?.supportFragmentManager?.let {


with(it.beginTransaction()) {
setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left,
R.anim.slide_in_right, R.anim.slide_out_right)
addToBackStack("second")
replace(R.id.container, SecondFragment())
commit()
}

}

现在有一些方法需要在 FragmentTransaction 对象上调用。这个更适合我的情况。

最佳答案

怎么样

if(savedInstanceState == null) { // replaces the `takeIf` things
supportFragmentManager.beginTransaction()
.add(R.id.container, FirstFragment())
.commit()
}

关于android - 这个集合添加 fragment 代码块可以变得更简单吗(Kotlin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49558674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com