如何将活动值传递给片段[重复]
Posted
技术标签:
【中文标题】如何将活动值传递给片段[重复]【英文标题】:How to pass an activity value to a fragment [duplicate] 【发布时间】:2021-07-06 06:18:32 【问题描述】:当我关闭一个活动时,我希望它向另一个活动内的片段传递一个值,我该怎么做?
活动 B
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
boolean value = true;
Bundle bundle = new Bundle();
bundle.putBoolean("info", value);
FragmentA fragment = new FragmentA();
fragment.setArguments(bundle);
fragmentTransaction.replace(R.id.idViewPager, fragment).commit();
片段 A
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
if (getArguments() != null)
Boolean values = getArguments().getBoolean("info");
代码不起作用,因为它给了我一个错误
java.lang.IllegalArgumentException: No view found for id 0x7f080163
谢谢
【问题讨论】:
您是否正在打开该活动以及您尝试在其中传递数据的特定片段?? 【参考方案1】:您正在尝试访问属于另一个活动的 ViewPager。如果您想更改 Activity A 的 ViewPager 中的片段,则 Activity A 需要做出该决定。如果 Activity A 正在启动 Activity B,处理此问题的最简单方法是对 Activity B 使用 StartActivityForResult。设置结果后(在此处返回您的值),在结果侦听器接收它的 Activity A 中进行片段事务。
希望对您有所帮助。
【讨论】:
以上是关于如何将活动值传递给片段[重复]的主要内容,如果未能解决你的问题,请参考以下文章