[Android] Fragment간 데이터 전달 방법들
Fragment간 데이터 전달에 관한 여러 방법들
velog.io
💡 1) FragmentManager에 Bundle로 Data 담아 전달하는 방법
1. 데이터를 전송하는 쪽
@Override
public void goPackingDialog(String idx) {
fragment = new PackingFragment();
fragment.setViewResourceId(R.layout.fragment_packing);
// TODO. 프래그먼트 간 데이터 전송
// 프래그먼트끼리 key 를 넘기기 위한 bundle
Bundle bundle = new Bundle();
bundle.putString("OtKey",idx);
fragment.setArguments(bundle);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
transaction.replace(R.id.area_main, fragment);
transaction.commit();
}
2. 데이터 받는 쪽
@override
public void onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
var result = arguments?.getString("key")
return inflater.inflate(R.layout.fragment_packing, container, false)
}
💡 2) Fragment Result API 를 사용하여 Data 전달
[Android] Fragment간 데이터 전달 방법들
Fragment간 데이터 전달에 관한 여러 방법들
velog.io
💡 Intent와 Bundle의 차이
// 저장과 전달의 차이!
- Intent : 어플리케이션 내 액티비티 간의 데이터를 전달할 때 사용하는 클래스
// 다양한 데이터 타입을 전송가능
- Bundle : 문자열로 된 키와 여러가지 타입의 값을 매핑하여 저장하는 Map 클래스
나아가, 하나의 데이터 뿐만이 아니라 여러개의 데이터를 함께 보내는 방식도 구현할 수 있다.
그건 나중에....
'Android' 카테고리의 다른 글
[Android] EditText Null Pointer Exception (0) | 2023.03.17 |
---|---|
[Android] 무선디버깅 연결 (0) | 2023.03.14 |
[Android] 실시간 처리 관련 (0) | 2023.03.13 |
[Android] 안드 오류 모음 (0) | 2023.03.07 |
[Android] Spinner 에 불러온 ID로 로그인 기능 구현 (0) | 2023.01.13 |
댓글