【发布时间】:2017-02-03 12:40:10
【问题描述】:
我有 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 发送值?
如何解决?
【问题讨论】:
-
您不能使用意图将数据同时发送到两个片段。数据将仅发送到当时被调用的片段(在您的情况下为 ToDoModule)。如果你想在多个分片中访问相同的数据,可以将其保存在
SharedPreferences,并在需要时从分片中访问。 -
但是数据会改变吗?我可以用 SharedPreferences 做到这一点吗?
-
如果你将数据保存在
SharedPreferences,除非你更新它,否则它不会改变。 -
嗯,我需要另一个解决方案,谢谢
-
检查这个答案stackoverflow.com/a/39489617/2826147。希望对您有所帮助。