original source : https://youtu.be/T70wZf7KoI4

===========================================================

.

.

.

===========================================================

.

.

.

===========================================================

.

.

.

===========================================================

.

.

.

===========================================================

.

.

.

===========================================================

.

.

.

===========================================================

.

.

.

original source : https://youtu.be/6YZY5S7XvtM

image

add, replace에만 tag를 정의 할수 있다. 더해지는 fragment에 tag를 정의하고 나중에 접근 가능하게 한다.

===========================================================..

.

.

image

tag를 상수로 정의해서 사용하는 것이 편리하다.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

위의 코드에서는 b bundle이 실제 있는지 확인하고 작업을 수행하는 것을 추천한다.

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

fragment안에 fragment가 있는경우 겹겹으로 listener를 만들어 activity에 정보를 제공할수 있다.

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

startActivityForResult()의 사용법은 activity의 것과 유사하다. 단 REQUEST_CODE가 2바이트 크기가 된다.

fragment안의 fragment에서는 startActivityForResult 를 사용할수 없다.

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

===========================================================..

.

.

image

getActivity()를 사용해도 되고 getContext()를 사용해도 된다.

original source : https://youtu.be/tg36VJUkE4s

image

===========================================================

image

===========================================================

image

===========================================================

image
image

===========================================================

image
image

===========================================================

image

일반 api 11 이후의 activity를 사용하는 경우 android.app.fragment가 참조명이 될것이고 support library를 사용하는 경우 android.support.v4.fragment 와 같은 형태가 될것이다.

===========================================================

image

===========================================================

image
image

android studio에서 fragment를 만드는 과정을 보여주고 있다.

===========================================================

image

하단의 내용 inflater.inflate(R.layout.fragment_first, container, false)는 fragment_first를 생성하되container에 fragment_first를 덧붙이지는 말라는 뜻이다. 덧붙이는 작업은 fragment manager가 알아서 하기때문이다.

===========================================================

image

===========================================================

image

===========================================================

image

===========================================================

image

===========================================================

image

===========================================================

image

<fragment>를 이용해서 만들수도 있고 아래 아래와 같이 일반 layout에 틀을 만들고 그곳에 덧붙일수도 있다.

===========================================================

image

===========================================================

image

===========================================================

image

===========================================================

image

===========================================================

image

===========================================================

image

activity가 어떤 이유로 close되어야 하는 경우 기존 activity의 정보를 bundle의 형태로 기억하고있다가 다시 생성될때 추가한다. 이때 activity가 fragment의 상태를 유지한다. 그런데 위의 코드와 같은 경우 replace 대신에 add를 사용하는 경우 시스템이 activity를 다시 띄울때 복구시킨 fragment에 또 fragment를 더하기때문에 중복이 될수 있다.

Saving (and Retrieving) Android Instance State – Part 2 – Intertech Blog

Saving (and Retrieving) Android Instance State – Part 2 – Intertech Blog

How can I pass a Bitmap object from one activity to another

How can I pass a Bitmap object from one activity to another