프래그먼트 연습중에 검색해보니 여러가지 방식이 있는것 같습니다.
보통 어떤걸 쓰시는지 알고 싶습니다.
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번처럼 해야할까요