gpt4 book ai didi

android - 将主要 Activity 的 Intent 发送到两个 fragment

转载 作者:搜寻专家 更新时间:2023-11-01 09:41:25 25 4
gpt4 key购买 nike

我有 2 个 Fragment,我必须向 Fragment 发送一些 id。我用这个:

public void onItemLongClick(View view, int position) {
FragmentManager fm = getSupportFragmentManager();
actionOption actionOption = new actionOption();
actionOption.show(fm,"fragment_edit_name");
ToDoModule movie = dbList.get(position);
int y= movie.getId();
Bundle args = new Bundle();
args.putInt("exampleInt", y);
actionOption.setArguments(args);

EditOption editOption = new EditOption();

ToDoModule bl = dbList.get(position);
int z= movie.getId();
Bundle zs = new Bundle();
zs.putInt("int", y);
editOption.setArguments(zs);
}

第一个 Fragment 正在运行,但第二个未发送。无法将值发送到 EditOption

如何解决?

最佳答案

非常不寻常的是,您试图同时将一些数据传递给两个 Fragment。如果你能在你的问题中简要写下你在那里的情况,那就太好了。

无论如何,@Prera​​kSola 想出了一个解决方案,用于将您要传递的数据保存在 SharedPreference 中,我认为它应该适用于您的情况。

您正在尝试将电影 ID 传递给 actionOption 以及 editOption。您可能会像这样尝试先将 id 存储在 SharedPreference 中。

来自您的Activity

public void onItemLongClick(View view, int position) {

// ... Your code

// Save the movie id
SharedPreferences pref = getSharedPreferences("MY_APPLICATION", MODE_PRIVATE);
pref.edit().putInt("MOVIE_ID", movie.getId()).commit();

// Do not pass any bundle to the Fragment. Just transact the Fragment here
}

现在从您的 FragmentonCreateView 获取首选项的值。

SharedPreferences pref = getActivity().getSharedPreferences("MY_APPLICATION", MODE_PRIVATE);
String movieID = pref.getInt("MOVIE_ID", 0);

另一种方法是您可以尝试使用一个 public static int 变量,它可能包含电影 ID,您可以从代码的任何位置访问它。

希望对您有所帮助!

关于android - 将主要 Activity 的 Intent 发送到两个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39698275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com