Why use fragment static constructor?


Android/안드로이드 프로그래밍 2014. 2. 4. 10:59




http://stackoverflow.com/questions/14654766/creating-a-fragment-constructor-vs-newinstance

http://stackoverflow.com/questions/12062946/why-do-i-want-to-avoid-non-default-constructors-in-fragments


대부분의 구글 예제 들이 static을 통한 newInstance()를 사용했다. 

이 것은 'Factory method pattern' 과 관련이 있다. 

http://en.wikipedia.org/wiki/Factory_method_pattern



static 을 사용하지 않으면, 안드로이드 Lint 가 발생한다. 

@SuppressLint("ValidFragment")


라는 내용으로 올바르지 않은 Fragment라는 Lint가 발생한다.


또한 오랜 시간을 있다가 Fragment 를 다시 띄울 경우,


android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.mintshop.redmine.fragments.IssueListFragment: make sure class name exists, is public, and has an empty constructor that is public


라는 에러가 뜬다.


(위 에러는 Fragment class 내에 빈 Constructor 가 없어서 뜬다는 오류이다. )


Fragment 내에는 Constructor가 정의되어 있지 않아, Static Constructor으로 선언을 해야하기도 하며, Fragment에 Bundle로 관련 파라미터를 전달 하기 위해서 이다.



삼성전자 갤럭시 S20 플러스 자급제폰, 코스믹 그레이, 256GB Apple 에어팟 프로 (노이즈캔슬링 방수 블루투스 5), MWP22KH/A, 단일 색상 삼성전자 갤럭시탭S6 10.5 128G WIFI, SM-T860N, 마운틴 그레이

WRITTEN BY
ShakeJ

트랙백  0 , 댓글  0개가 달렸습니다.
secret