如何正确地从片段到父活动获取数据?

时间:2018-04-11 01:01:42

标签: android android-fragments

我的活动包含A和B片段。我使用了FrameLayout和BottomNavigation。我用以下方法来改变片段。

FragmentTransaction transaction =getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame, selectedFragment);
transaction.commit();

我在活动中有一个包含打印机和邮件的菜单。当我从Activity中单击打印机或邮件按钮时。活动必须从片段A或片段B获取数据。这是一种销售过程。

如果销售过程成功,我清除片段A和B的数据.B包含许多项目。 A包含一个项目。

我的问题是我使用全局变量传递数据。

片段B:

public static List<Product> ProductList = new ArrayList<>();
public static List<Product> itemSaleProductList = new ArrayList<>();
public static double itemSaleTotalPrice = 0;

片段A:

public static Product quickSale = null;

用户点击项目后我保存数据。当用户单击打印机按钮时,它从全局变量中获取数据。此外,如果全局变量具有值,则片段B和A必须获得该值。

有效。但有时它无法获得价值。那么如何从活动中正确获取数据?

1 个答案:

答案 0 :(得分:0)

试试这个,从你的活动中制作一个setter,然后从你的片段中做到这一点

push

希望这会有所帮助