-1

我有三个活动,A,B和C。

  1. 在活动 A 中,我有两个函数可以从我在回收站视图中显示的 firebase 获取销售数据。
  2. 用户可以在Activity A中搜索产品,搜索结果显示在Activity B中。
  3. 在活动 B 中选择产品会打开活动 C,用户可以在其中购买产品。
  4. 此时,我想从Activity C调用Activity A的两个函数,为回收站View更新Activity A中的数据。这导致了我最初的问题,如何在活动 C 中获得活动 A 的方法。或者如果有更好的方法可以做到这一点,请指导这个新手,谢谢。

更新

好像有些人误解了,所以想澄清几点。

  1. 由于这个特殊原因,我不能使用片段,尽管这将是一个非常简单的解决方案。
  2. 其次,一切正常,我只是好奇是否可以通过在本地添加 Activity C 中的数据来更新 Activity A 中的数据,而无需每次都从 firebase 获取它。但是谢谢你的反对,哈哈
4

2 回答 2

2

好像你把它复杂化了。

当您在活动 C 中购买产品时,您应该将数据存储在 Firebase 数据库中。当您返回活动 A 时,您应该从 firebase 获取已购买物品的列表并显示它们。

您不能从 Activity C 调用 Activity A 的方法。因此,每次打开 Activity 时,不要害怕在 onCreate() 方法中从 Firebase 获取数据。

于 2021-04-29T17:47:38.000 回答
0

您可以创建一个 searchList 并在 Activity A 的 searchList 中添加这些搜索或选定的项目,并通过意图中的 parcelable Array List 与 Activity B 共享该列表。从活动 A 中分享您的列表,

ArrayList<Object> object = new ArrayList<Object>();
Intent intent = new Intent(Current.class, Transfer.class);
Bundle args = new Bundle();
args.putSerializable("ARRAYLIST",(Serializable)object);
intent.putExtra("BUNDLE",args);
startActivity(intent);

并像这样在活动 B 中获取该列表,

Intent intent = getIntent();
Bundle args = intent.getBundleExtra("BUNDLE");
ArrayList<Object> object = (ArrayList<Object>)args.getSerializable("ARRAYLIST");

如果您想将相同的列表共享给 Activity C,然后像我们在 Activity A 中所做的那样再次共享该列表,并通过像 Activity B 这样的捆绑包获取该列表。

于 2021-04-29T19:35:31.353 回答