[안드로이드 공부]/프래그먼트 7

java.lang.IllegalStateException: Fragment not attached to Activity

not attached to Activity --> 프래그먼트에서 viewpager로 pagetAdapter를 사용 할 경우 getItem으로 newInstance 를 하면서 새로운 메모리를 생성하게 되면서 발생 하는 문제.--> 주로 getString() 등을 사용할 때 발생 한다. 새로운 context가 발생하였지만, 제대로 구성 하지 않아서 발생.--> 간단히 해결 하는 방법 Context 를 메인 액티비티의 것을 사용 해야 한다.--> public static synchronized Context getInstance() { return mContext; }--> MainActivity.getInstance.getString() 아래는 코모의 새로운 앱이에요(19/07/01출시) 일상 카운터 - ..

[안드로이드] 프래그먼트 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setDisplayShowHomeEnabled(boolean)' on a null object reference

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setDisplayShowHomeEnabled(boolean)' on a null object reference 1. setSupportActionBar() 를 먼저 적용.2. getActionBar --> getSupportActionBar로 변경

[안드로이드] 프래그먼트에서 뷰 제거 확실하게 하기 -You must call removeView()

Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 뷰페이져에 달린 얘들에서 디스트로이 뷰 하면서 제거 해줘야 한다. @Override public void onDestroyView() { super.onDestroyView(); if(mRootView !=null){ ViewGroup parentViewGroup = (ViewGroup) mRootView.getParent(); if( null != parentViewGroup ) { parentViewGroup.removeView( mRootView )..

[안드로이드] 프래그먼트 안정화 시키기

프래그먼트는 액티비티 아빠에게 소속되어있다가 아빠가 잠시 한 눈을 팔 때 붙었다 떨어졌다 하면서 실종되는 문제를 가지고 있다. 즉, 이런 문제 때문에 isAdded를 사용하면 붙어 있나 없나를 알아 낼 수 있지만.. 이건 그냥 임시 방편일 뿐이다. isAdded()를 쓰면 그냥 피해가지만..... 이건 너무 많은 비용이 든다.... 처리 못하는게 너무 많아 진다.... can not resolve android.support.v4.app.FragmentManager.--> getSupportFragmentManager() in your code, not getFragmentManager() You must call removeView() on the child's parent first" 프래그먼트에서 ..

안드로이드 프래그먼트 탭 생성하기 -viewpager

호랑이가 담배 피우지 않던 시절에는 안드로이드는 탭 호스트라는 것을 사용하여 멀티 화면을 정의해서 썼다고 한다. 그럼 호랑이가 골초가 되어버린 요즘에는 어떻게 탭 효과를 낼까? 방법은 간단한데, 요즘 방식으로 되어있는 글이 없어서 남겨 보도록 한다. 1. 안드로이드 스튜디오에서 새 프로젝트 만들기를 한 뒤 Fragment Tab을 선택한다. 2. 일단 메인 액티비티 하나와 레이아웃이 생성 된다. 3. 메인 액티비티는 탭 안에 담을 프래그먼트를 조정할 수 있고, 레이아웃은 타이틀 및 탭 제목등의 효과를 담당한다. 4. 메인 액티비티는 탭을 조정 하기 때문에 탭에 담길 프래그먼트(Fragment)를 넣어주는 작업을 해야 한다.- File에서 New를 한 뒤 Fragment를 하나 생성한다.- Layout도 ..