假设我有两个名为A_Activity和B_Activity的活动。A_Activity有3个片段,名为A_Fragment、B_Fragment和C_Fragment。A_Activity作为这三个片段的基础活动。
从B_Fragment可以导航到B_Activity,从B_Activity可以导航到B_Fragment。从A_Activity可以导航到A_Fragment、B_Fragment或C_Fragment。最后,从A_Fragment、B_Fragment或C_Fragment可以导航到任何其他片段。
下面是对活动的层次结构及其相应片段的任意表示:
A_Activity
A
我想知道在导航片段时更新工具栏标题是否有一些通用的最佳实践模式。
我使用了一种方法,这是一种不错的方法,因为它让片段在恢复应用程序时恢复标题,这真的很重要。
我曾经使用setToolbarTitle方法创建一个接口。
public interface InteractionListener {
void setToolbarTitle(@StringRes int title);
}
然后我会在根活动中实现它。
@Override
public void setToolbarTitle(@StringRes int title) {
if (getSupportActionBa
我正在我的一个应用程序中使用新的android导航框架。应用程序的目的是表现为一个启动程序。
有时,当我试图更改片段(使用导航控制器导航)时,它不会更改片段,而是记录
Ignoring navigate() call: FragmentManager has already saved its state
我知道以前有人问过这个问题,,但它没有解决办法。
我使用以下代码导航:
Navigation.findNavController(view).navigate(R.id.action_next,束)
我正在开发一个包含有多个选项卡的NavigationDrawer的应用程序,它调用不同的片段。
假设我有A,B,C片段。
在创建活动时,片段容器中填充了片段A。
我想以某种方式保存对这个片段的引用,当我导航到其他片段时,我将通过onBackPress()返回片段A。
重要的是,碎片A不会被摧毁。
我尝试在第一个事务上使用addToBackStack()实现这个功能,但只有在导航到另一个片段时才能实现:
A -> B -> onBackPress() -> A
但是当我导航到更多的时候,它就不能正常工作了:
A -> B -> C ->
我不确定做我打算做的事情的最好方法。我有一个应用程序,它涉及三个片段,每个片段都由具有导航抽屉的单个活动导航到。
我有一个text to speech类,它初始化了text to speech引擎。问题是,它需要被多个不同的片段使用。我的想法是在main活动中创建TTS类的对象,并扩展函数,以便片段可以调用它们,如下所示:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
我使用导航组件和单一活动模式。现在,我使用了带有xml布局的jetpack内部片段。我已经和图书馆合并了。用于检查用户卡数据的库。从片段启动库后,它覆盖到方法成功,但失败。现在,我想从片段可组合屏幕状态进行更改。我怎样才能实现它。这是我的密码
@AndroidEntryPoint
@OptIn(ExperimentalMaterialApi::class)
class InstallmentFragment : Fragment(),ResultListener {
private val viewModel: TrancheViewModel by viewModels()