프래그먼트 A와 B가있는 B는 확장 A와 유사합니다. B의 UI 데이터 업데이트는 A에 저장해야하며 A의 UI는 데이터베이스에 저장할지 여부를 결정합니다.한 프래그먼트에서 대체 프래그먼트로 데이터를 전달하는 방법
그래서 A가 먼저 백 스택에 놓여지며, 얼마 후에 B가 필요하고 B가 백 스택에 놓이며 'replace()'가 붙습니다.
B에 데이터를 전달하는 것은 인수로 처리 할 수 없습니다. B 단편에서 A 단편으로 데이터를 다시 전달하는 방법 (A가 홀더에서 B로 '대체()'되고 현재 표시되지 않거나 '기존'인 경우) 데이터를 A 단편으로 다시 전달하는 방법은 무엇입니까? Developers 웹 사이트에서
Bundle args = new Bundle();
args.putSerializable(TAG_MY_CLASS, myClass);
Fragment bFrgmt = new B();
bFrgmt.setArguments(args);
getFragmentManager()
.beginTransaction()
.replace(R.id.holder, bFrgmt, TAG_B_FRAGMENT)
.addToBackStack(TAG_B_FRAGMENT).commit();
일반적으로 Fragments 간의 통신은 Activity (패턴 관찰자)를 통해 수행됩니다. 따라서 활성 상태 인 프래그먼트는 해당 액티비티에 (인터페이스를 통해) 어떤 액션이 발생하고 액티비티가 프래그먼트 1에 알릴 수 있다고 알립니다. – alla
감사합니다. alla! 나는 내 질문에 B가 화면에 있고 A가 알 수없는 상태 (동일한 '홀더'에서 B로 대체 됨) 일 때 B에서 A로 전달하는 가장 좋은 방법이 무엇인지 생각합니다. 사고가 B popstack 이벤트를 잡아 내고 나서 OS가 'holder'에있는 A를 다시 가져 와서 그 시간에 A에게 데이터를 전달할 수있게되었을 것입니다. 더 좋은 방법이 있습니까? – lannyf