java - 片段中的访问工具栏
问题描述
工具栏处于 mainactivity 布局中。所以我有3个片段。
在主要活动中
private Toolbar toolbar;
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
在第一个片段中,我只是写了这个。
Toolbar toolbar = getActivity().findViewById(R.id.toolbar);
toolbar.setTitle("AA");
在第二个片段中,我只是写了这个。
Toolbar toolbar = getActivity().findViewById(R.id.toolbar);
toolbar.setTitle("BB");
一开始它工作得很好。我的意思是当我打开应用程序时,工具栏中有一个“AA”。这就是我想要的。当我到达第二个片段时,工具栏中有一个“BB”。但是当我回到第一个片段时,“BB”文本仍然存在。它不会自我更新。我不知道为什么。你能帮助我吗?我应该向片段类写入什么以访问处于 mainactivity 中的工具栏。
解决方案
事实证明,您设置工具栏标题的片段onCreateView()
以及当您返回时onCreateView()
不会被调用,可能是片段试图保持其状态,因此您需要将代码转移到onResume()
。
推荐阅读
- node.js - npm 包没有安装 clarifai-nodejs-grpc
- reactjs - 自定义图例并不总是使用 react-chartjs-2 呈现
- ios - 迁移到 xcframwork Xcode 12.5,dyld:未加载库
- c++ - 如何使用 NODEMCU 同时使用 MFRC522 和 RDM6300
- windows-machine-learning - 访问 TensorFloat 数据
- python - 我正在尝试使用回溯解决 N 个皇后。我的解决方案是计算值,但是返回逻辑有问题
- javascript - 尝试在单击按钮时从两个不同的文本区域复制文本
- javascript - 在烧瓶中正确执行 javasript 代码
- npm - `npm i core-js@latest` 无法安装,因为它无法构建... core-js@<3.3?
- python - 如何从值为列表的键中删除值?