728x90
반응형
액티비티 하나에 버튼을 누르면 해당 프레그먼트를 나타내도록 구현해봅시다.
1) 이전 포스팅에서 프레그먼트 구현을 하나만 했지만 복사해서 똑같이 세 개를 만들어 주겠습니다.
그러면 프레그먼트 3개와 액티비티1개의 자바파일이 생성이 되어 있어야 합니다. 각각의 프레그먼트는 각자 구현이 가능합니다.
2) 메인 액티비티에 각각의 프레그먼트를 나타나게 해주는 버튼 3개를 추가
3) 메인액티비티에 각각의 버튼 리스너를 구현
버튼 리스너를 구현하는 방법에는 여러가지가 있는데 두가지 방법으로 구현하겠습니다.
- 첫 번째 방법
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openfragment(firstFragment); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openfragment(secondFragment); } }); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openfragment(thirdFragment); } }); public void openfragment(Fragment fragment){ //프레그먼트를 나타나게 해줌 getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout, fragment).commit(); }
- 두 번째 방법
Button.OnClickListener onClickListener = new Button.OnClickListener(){ @Override public void onClick(View v) { switch (v.getId()){ case R.id.button : openfragment(firstFragment); break; case R.id.button2 : openfragment(secondFragment); break; case R.id.button3 : openfragment(thirdFragment); break; } } }; button.setOnClickListener(onClickListener); button2.setOnClickListener(onClickListener); button3.setOnClickListener(onClickListener); public void openfragment(Fragment fragment){ //프레그먼트를 나타나게 해줌 getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout, fragment).commit(); }
728x90
반응형
'android' 카테고리의 다른 글
[j android] 토스트(toast), 스낵바(snackbar), 프로그레스바(progressbar) 구현하기 (0) | 2019.10.15 |
---|---|
[j android] activity, fragment 간 데이터 전송 (0) | 2019.08.26 |
[j android] fragment Activity에 나타내기(호출) (0) | 2019.08.22 |
[j android] splash화면(로딩화면) 구현하기 (0) | 2019.08.21 |
[j android] 일정 시간 후 화면 전환 (Activity) (0) | 2019.08.20 |