我启动了一个新的 Android 项目,在应用程序模块的 mainactivity 中有一个底部导航栏,如图所示。我计划在 featuretab1 模块中设置初始 fragment 。
我找到了使用 Intent 和设置依赖关系来更改 Activity 的方法。只是想确认一下,要更改 fragment ,只需输入下面的代码即可。
//Java in featuretab1
public class featuretab1fragment extend fragment {
//fragment detail
}
//navbar.setOnClicklistener action in app module main activty
Fragment f = new featuretab1fragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.nav_host_fragment, f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
这是我需要做的吗?
最佳答案
使用 getSupportFragmentManager()
而不是 getFragmentManager()
来实现 API 14 以下设备之间的兼容性。在提出此问题之前,请先检查官方文档。这是它的链接:https://developer.android.com/guide/components/fragments#java
Fragment newFragment = new featuretab1fragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.nav_host_fragment, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
由于您刚刚开始 Android 开发,我建议您学习 Kotlin 或 Flutter。在制作 Android 应用程序方面,两者都比 Java 更好。 Kotlin 需要更少的代码来完成与 Java 相同的事情,并且它具有空安全性。 Flutter 可以使用单个代码库同时创建 Android 和 ios 应用程序。 Flutter 使用 dart 编程语言。
关于java - 使用库中的 fragment Activity 使用底部导航栏更改 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60798298/