레이블이 fragment인 게시물을 표시합니다. 모든 게시물 표시
레이블이 fragment인 게시물을 표시합니다. 모든 게시물 표시

2014년 11월 5일 수요일

[android] fragment 에서 activity 함수 호출하기





Fragment ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 3. ListFragment 에서 Activity 에 대한 참조
    OnSelectedListener mListener;
    
    // 1. ListFragment 내에 이벤트 인터페이스를 정의
    public interface OnSelectedListener {
        public void onDialogSelected();
    }
// 3.ListFragment 에서 Activity 에 대한 참조
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mListener = (OnSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener");
        }
    }

[Activity]
1
2
3
4
// 2.Activity 에서 Fragment 의 이벤트 인터페이스를 구현
    public void onDialogSelected(){
        showDialog();
    }

ListFragment에서 호출을 원하는 곳에 다음과 같이 사용.
mListener.onDialogSelected(); 

implements fragment.OnSelectedListener 꼭 추가!!!!!!!
추가하지 않을 경우 RuntimeException 발생.

2014년 10월 22일 수요일

[android] FragmentTransaction 사용하기.


replace(int containerViewId, Fragment fragment, String tag)
: container에 tag명으로 추가된 fragment를 삭제하고 동일한 tag명으로 fragment를 추가한다. 

: commit하기 전에 해당 함수를 호출하면 back 버튼을 눌렀을 때 이전 fragment로 이동할 수 있다.

1
2
3
4
5
        appTestListFragment newFragment = new appTestListFragment();        
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.fragment_container,newFragment,"first");
        transaction.addToBackStack(null);
        transaction.commit();