posted by Kyleslab 2012. 11. 9. 18:55
@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);

		Log.e("온크리에이트", "입니다.");

		if(getSupportFragmentManager().findFragmentByTag("listfra") == null){
			FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
			ListViewFragment lvf = new ListViewFragment();
			ft.add(R.id.menu, lvf, "listfra");
			ft.addToBackStack(null);
			ft.commit();
			
		}

	}


fragment 코드들을 보다보면 이렇게 onCreate안에 fragment 를 추가해주는 코드들을 볼수 있는데 저렇게 처음부터 null인지 체크를 한다. 이것은 이 액티비티가 처음 실행되었을 때가 아닌 다음번에 실행했을 때를 대비한 코드다. fragment가 이미 생성되어있다면 같은 fragment를 manager에 커밋할필요가 없기때문에 없는 경우에만 프래그먼트를 만들게 한다. 그렇지 않으면 중복해서 만들어서 표시하게된다.

'Mobile > Android' 카테고리의 다른 글

Fragment(2)  (0) 2012.11.12
fragment에서 attach, detach method!  (0) 2012.11.12
Fragment를 이용한 TabActivity  (0) 2012.11.09
Fragment(1)  (0) 2012.11.09
생명주기 메소드를 Override할때 super의 위치  (0) 2012.11.08