如何将 kotlin 中的 .apply 转换为 java,我在 java 中根本找不到 .apply


private fun loadFragment(fragment: Fragment, addToBackStack: Boolean = false, ) {
supportFragmentManager.beginTransaction().apply {
replace(fragmentContainer.id, fragment)
if (addToBackStack) addToBackStack(null)
commit()
}
}

这是kotlin代码

private loadFragment(Fragment fragment, Boolean addToBackStack){
getSupportFragmentManager().beginTransaction(){
}
}

这是java代码我没有办法在beginTransaction()之后添加。apply如何使用。apply

总之,我建议您学习并开始使用Kotlin,越早越好。几年后,Java编程将在Android应用程序开发中变得不常见。

apply()只是一个方便函数。一个等价的Kotlin函数是:

private fun loadFragment(fragment: Fragment, addToBackStack: Boolean = false, ) {
val transaction = supportFragmentManager.beginTransaction()
transaction.replace(fragmentContainer.id, fragment)

if (addToBackStack) transaction.addToBackStack(null)
transaction.commit()
}

在Java中相当于:

private void loadFragment(Fragment fragment, boolean addToBackStack) {
FragmentTransaction transaction = supportFragmentManager.beginTransaction();
transaction.replace(fragmentContainer.id, fragment);

if (addToBackStack) transaction.addToBackStack(null);
transaction.commit();
}

最新更新