java - 使用库中的 fragment Activity 使用底部导航栏更改 fragment

标签 java android android-fragments bottomnavigationview

我启动了一个新的 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();

这是我需要做的吗?

want to achieve

最佳答案

使用 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/

相关文章:

java - try ... catch 没有捕获 IllegalArgumentException

java - 使用 Spring 包装类相对于 Quartz 调度程序库的优势

java - JLabel 和 Icon 在 GridBagLayout 中彼此居中

java - 如何从短信中获取PDU

android - 在 ListView 中访问特定项目的布局

android - OnLoadFinished() 调用了两次

android - fragment 按下后退按钮

java - 生成 Google map 发布 key

Android seekbar 离散,如何删除步骤指示器

android - 如何使用 Viewpager2 和 Mediator 选项卡布局动态添加和删除 fragment 页面