게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[Android]Fragment-Activity간 통신 어떻게 하시나요?
게시물ID : programmer_13547짧은주소 복사하기
작성자 : 레스텐
추천 : 0
조회수 : 5594회
댓글수 : 5개
등록시간 : 2015/09/28 11:30:54
옵션
  • 본인삭제금지
프래그먼트 연습중에 검색해보니 여러가지 방식이 있는것 같습니다.

보통 어떤걸 쓰시는지 알고 싶습니다.

1. Interface 사용하여서 구현

1) MainActivity
public class MainActivity 
extends ActionBarActivity implements FragmentInterActionListener
{    //..... 생략 .....
    @Override   
public void nextFragment(){//코드 생략 (FragmentInterActionListener) 내에 등록한 메소드}
}



2)FrisetFragment
private  FragmentInterActionListener listener;    

@Override    
public void onAttach(final Activity activity) {  
      super.onAttach(activity);       
      listener = (FragmentInterActionListener) activity;         } 
  
@Override    
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_first, container, false);       
	btn = (Button) view.findViewById(R.id.btn1);       
 	btn.setOnClickListener(new View.OnClickListener() {           

	 @Override    
        public void onClick(View view) {               
	  listener.nextFragment();             }        });
	}
}


2. getActivity 사용

onClick 부분에서

((MainActivity)getActivity).메소드명()  이런식으로 호출하게 하는 방법이 있던데

주로 어떤것을 쓰는지 궁금합니다.



안드로이드 스튜디오에서 프래그먼트 생성시 1번처럼 구현되게 유도하는것으로 봐서 정석은 1번같은데

2번 방법으로 하면 훨씬 쉽게 되서... 혹시 사용하는데 문제가 되는게 있을까요??

아니면 문제가 안되더라도 정석인 1번처럼 해야할까요
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호