본문 바로가기

android

[Android] 현재 보여지고 있는 가장 최상위 Fragment 가져오기 public BaseFragment getVisibleFragment() { for (Fragment fragment: getSupportFragmentManager().getFragments()) { if (fragment.isVisible()) { return ((BaseFragment)fragment); } } return null; } 딱 소스를 보시자마자 알수 있듯이 현재 Stack에 있는 Fragment 중보이는 Fragment를 가져오는 소스 입니다. 참고하세요. 더보기
[Android] Fragment 이동 시, 계속 쌓이는 현상 방지 보호되어 있는 글입니다. 더보기
[Android][스크랩] Fragment LifeCycle 그림 2. 프래그먼트의 수명 주기( 소속 액티비티가 실행 중일 때). ragment Lifecycle(생명주기)Fragment의 가장 기본인 Lifecycle을 알아보자. 모든 것이든 기본이 가장 중요한만큼 하나하나 꼼꼼하게 분석 해보자. Fragment는 Activity와 비슷한 Lifecycle 구조를 가졌다.이전 Fragment 개념에 대해 간단히 언급 했듯이, Fragment는 Activity에서 작동하는 구조라고 소개 되었다.(2013/02/26 – [개발관련/Android] – Fragment 파헤치기 – 1. Fragment 개념)하지만 Activity보다 좀더 복잡하지만, 개념만 이해 한다면 쉽게 사용 할것 이다.FragmentTransaction으로 Fragment를 add, replac.. 더보기
[Android] FragmentTabHost addTab 시 Bundle 전달 아래소스와 같이 Tab을 설정 할 때 Bundle을 설정 합니다. private void addTab(String key, String data) { Bundle args = new Bundle(); args.putString(key,data); View tabView = mInflater.inflate(R.layout.fragment_layout, null, false); mTabHost.addTab(mTabHost.newTabSpec(TAG).setIndicator(tabView) , SomeFragment.class, args);} SomaFragment에서 이동한 후에는 getArguments 함수를 이용하여 데이터를 가지고 오면 됩니다. String data = getArguments().get.. 더보기
[Android] Fragment 에서 showSoftInput이 안먹힐 때 Fragment로 이동한 후, showSoftInput을 하더라도 키보드가 보이지 않을 때가 있다. 그럴 경우 아래와 같이 requestFocus 함수를 먼저 호출 하자. EditText someEditText = (EditText)getActivity().findViewById(R.id.someEditText); someEditText.requestFocus(); InputMethodManager mgr = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); mgr.showSoftInput(someEditText, InputMethodManager.SHOW_IMPLICIT);http://stackoverflo.. 더보기
[Android] Fragment traisition Error - executePendingTransactions java.lang.IllegalStateException: Recursive entry to executePendingTransactions FragmentTransition을 이용하여 이동 할 경우, 위와 같은 에러가 발생할 수도 있다. 이럴 경우 이동할 Fragment에서 getSupportFragmentManager 나 getFragmentManager를 통하여 먼가 nested View를 설정하지 않았는지 확인이 필요하다. 예를 들어 FragmentTabHost 와 같은... 그럴 경우 아래와 같이 getChildFragmentManager 로 변경 하여서 사용하기 바란다. mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.tab_con.. 더보기
[Android] AnimatorSet 이용 여러 Animation을 한번에 돌리기 위해선, 개별적으로 같은 시간에 start를 해봤자 동시에 진행이되지 않습니다.!!! 이럴 경우, AnimatorSet을 이용하여 start를 시키는게 바람직 합니다. 이건 참고용으로 두 View를 Scale로 교환 되는 함수 입니다. public static void exchangeScaleAnimation(final View scaleOnView, final View scaleOffView, int duration) { ObjectAnimator scaleOnX = ObjectAnimator.ofFloat(scaleOnView, "scaleX", 1f); ObjectAnimator scaleOnY = ObjectAnimator.ofFloat(scaleOnView.. 더보기
[Android] Activity slide transition 위 파일을 가지고 아래 소스를 이용하면 Activity 간 좌우로 슬라이드 이동이 되도록 설정 할 수 있습니다. activity.startActivity(intent); activity.overridePendingTransition(R.anim.activity_slide_in, R.anim.activity_slide_out); activity.finish(); activity.overridePendingTransition(R.anim.activity_slide_enter, R.anim.activity_slide_exit); 참고하세요. http://stackoverflow.com/a/28513231/3534559 더보기