프로그래밍 메모장(안드로이드 프로그래밍) |
해당글은 본인이 추후에 잊어버려도 다시 기억할 수 있도록 쓰는 메모장같은 형식의 글입니다.
(강의 글이 아님)
FragmentTransaction |
이것때문에 1시간을 소요했으므로 꼭 기억하자!!
FragmentTransaction은 총 2가지이다.
1번) android.app.FragmentTransaction |
2번) android.support.v4.app.FragmentTransaction |
FragmentTransaction을 이용하여 transaction을 만들어 연결을 시킨다.
private FragmentTransaction transaction;
....
transaction = getFragmentManager().beginTransaction();
그런데 여기서 중요하다.
만약에 getFragmentManager를 호출하는 곳이 "PreferenceActivity"나 "PreferencePragment"처럼 "android.preference"에 정의되어있는 클래스를 상속하는 곳이라면 "FragmentTransaction"은 1번으로 사용해야 한다.
2번의 경우에는 일반 Fragment를 상속하는 클래스에서 사용한다.그런데 2번의 경우에서 "PreferenceActivity"를 사용하고 싶다면 "android.support.v7.PreferencePragmentCompat"을 사용하면 된다고 한다.(참고 링크 : reddit)
FragmentTransaction의 애니메이션 |
이것과 같이 보자
1번) android.app.FragmentTransaction |
2번) android.support.v4.app.FragmentTransaction |
Intent를 이용하여 액티비티를 넘어갈때는 "overridePendingTransition"을 사용하여 "@AnimRes"를 이용하여 애니메이션 효과(transition)를 쉽게 줄 수 있다.
그런데 Fragment에서는 일반적으로는 "setCustomAnimations"을 사용하여 "@AnimRes"를 이용하여 애니메이션 효과를 준다.
그런데...
1번의 경우와 2번의 경우가 조금다르다.2번의 경우에는 "@AnimRes"를 인자로 줄 수 있지만1번의 경우에는 "@AnimatorRes"를 인자로 줘야한다.(참고 링크 : Stackoverflow)이것때문에 한참 혼란에 빠졌다.
다들 "@AnimRes"를 인자로 주는데 나만안되서 이상해서 스택오버플로우를 뒤진결과이다.
'Study > Android' 카테고리의 다른 글
[안드로이드] Bitmap을 불러와서 수정할 때 나는 예외(Immutable bitmap passed to Canvas constructor) (1) | 2017.03.04 |
---|---|
[안드로이드] 자바 IO를 이용하여 데이터를 입출력할 때 MIUI에서 주의점 (0) | 2017.02.21 |
[안드로이드] ADB를 무선으로 연결하기(하지만 완전한 무선은 아닌..) (0) | 2017.02.14 |
[안드로이드] 툴바(Toolbar)의 왼쪽에 버튼을 달기 (3) | 2017.02.03 |
[안드로이드] ListView 갱신하기 (0) | 2017.02.03 |