android - 替换 Tablayout Android 中的片段
问题描述
我在我的项目中使用了 tablayout。我必须替换标签布局中的片段。代码如下
活动课
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(Fragment1, "One");
adapter.addFragment(Fragment2, "Two ");
adapter.addFragment(Fragment3, "Three");
viewPager.setAdapter(adapter);
}
Activity中的界面
@Override
public void onInput(int input) {
Here how to replace fragment three
}
解决方案
我认为替换片段不是一个好主意。所以我想向你展示另一种方法来实现你想要的。
viewPager.setCurrentItem(position);
您可以使用此方法更改页面。这里的位置是从 0 到总页数 - 1 的页码。- 使用 ViewModal 传递最新数据(在您的情况下
"input"
)。因此,您可以在此处设置onInput(int input)
ViewPager 的每个片段的值,您可以订阅/取消订阅 ViewModal 以侦听更改。这样您就不需要更换片段,屏幕上的页面将获得最新数据并可以显示。
推荐阅读
- google-cloud-platform - 在 Google Cloud 中运行 Prefect flow serverless 的最佳实践
- php - 表单突然停止插入数据 - 这段代码有什么问题?
- python - CUDA Toolkit 是特定于 conda 环境的 cuDNN 吗?
- zsh - zsh:没有这样的文件或目录:
- php - 获取本月工资的未付员工 id 用于 codeigniter 的 sql 查询
- python - python shell 在运行 print() 时出现语法错误,但是在 jupytr notebook 中执行相同的代码
- sql - 尝试使用触发器
- xero-api - Xero App 连接到多个组织
- c++ - 类模板 SFINAE
- oracle - ORDS 无法从浏览器连接数据库