์๋ ํ์ธ์ ์ผ์ด์น์ ๋๋ค.
์ค๋๋ง์ ํฌ์คํ ์ ํ๊ฒ๋๋ค์. ์ค๋์ ์๋๋ก์ด๋ ์คํ๋์ค์์ ํ๋๊ทธ๋จผํธ๋ฅผ ์ด์ฉํ ํ๋ฉด์ ํ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด ํฌ์คํ ์ ํ๊ฒ๋ ์ด์ ๋ Do It ์๋๋ก์ด๋์ ๋์์ ๊ฐ์ข ์์ค(๋กค๋ฆฌํ ๊ธฐ์ค Day 10 - 2)๊ฐ ํ์ฌ ์์ค์์ ์์ฑํด์ฃผ๋ ๊ธฐ๋ณธ์์ค์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ผ๋จ ๊ฐ๋ฐํ๊ฒฝ๋ถํฐ ๋ณด์์ฃ .
์, ์ผ๋จ ์์ค์์ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ฑํด๋ณด๋๋ก ํฉ์๋ค.
์๋ ์คํฌ๋ฆฐ์ท๋๋ก ๋ฐ๋ผ์ ํด๋ณด์๊ณ ์์ฑ๋ ์์ค๊ฐ ๋์ผํ์ง ํ์ธํ์ธ์.
์, ์ด์ ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ์๋ก์ด ํ๋๊ทธ๋จผํธ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ๊ทธ ํ๋๊ทธ๋จผํธ์ ๋ ์ด์์์ ์ถ๊ฐํ ๊ฒ์ ๋๋ค.
์๋ก ์์ฑ๋ ํ์ผ์ ๋๊ฐ์ ๋๋ค.
MenuFragment.java์ fragment_menu.xml ์ ๋๋ค.
MenuFragment.java๋ MainActivityFragment.java๋ฅผ ๋ณต์ฌํด์ ์์ฑํ์๋ฉด๋๊ณ
fragment_menu.xml์ fragment_main.xml์ ๋ณต์ฌํด์ ์์ฑํ์๋ฉด ๋ฉ๋๋ค.
์, ์ด๋ ๊ฒ ๋๊ฐ๋ฅผ ์ถ๊ฐํ์ จ์ผ๋ฉด ๊ธฐ์กด ์์ค๋ฅผ ์๋์ฒ๋ผ ๋ณ๊ฒฝํด์ฃผ์ธ์.
MenuFragment.java
fragment_menu.xml
MainActivityFragment.java
fragment_main.xml
MainActivity.java
activity_main.xml
๋ณ๊ฒฝ๋ ์์ค๋ฅผ ๋ณด์๋ฉด ๋ฉ์ธ์กํฐ๋นํฐ ์ชฝ์ด ์ข ํฌ๊ฒ ๋ฐ๋์์ต๋๋ค. activity_main.xml์์ Fragment๊ฐ ์์ ๋น ์ ธ๋ฒ๋ฆฌ๊ณ ๊ทธ ์๋ฆฌ๋ฅผ RelativaLayout์ด ์ฐจ์งํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ MainActivity.java์์ setContentView ๋ค์์ ํ ๋ผ์ธ์ด ์ถ๊ฐ๋์๋๋ฐ ์ด ๋ผ์ธ์ด ํ๋ ์ผ์ ํ๋๊ทธ๋จผํธ ๋ฉ๋์ ๊ฐ ๋ฉ์ธ ๋ ์ด์์ ์ฆ RelativeLayout์ ๋ฉ์ธํ๋๊ทธ๋จผํธ(MainActivityFragment)๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฒํผ ํด๋ฆญ ๋ฆฌ์ค๋์๋ ํ๋๊ทธ๋จผํธ๋ฉ๋์ ๊ฐ ๋ฉ์ธํ๋๊ทธ๋จผํธ์ ๋ฉ๋ดํ๋๊ทธ๋จผํธ๋ฅผ ๊ต์ฒดํด์ฃผ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
์ด๋ ๊ฒ ํจ์ผ๋ก์จ ๊ฐ ํ๋๊ทธ๋จผํธ์์ ๋ค๋ฅธ ํ๋๊ทธ๋จผํธ๋ฅผ ํธ์ถ(๋ฒํผ์ ํด๋ฆญํจ์ผ๋ก์จ ํธ์ถ)ํ ๋ ์๋ก ๊ต์ฒด๊ฐ ๊ฐ๋ฅํ๋๋ก ํ์ต๋๋ค.
activity_main.xml์์ Fragment๋ฅผ ๋บ ์ด์ ๋, ํด๋ณด์๋ฉด ์์๊ฒ ์ง๋ง, ๋ฉ์ธ ๋ ์ด์์์ ์์ Fragment๋ก ์ง์ ํจ์ผ๋ก์จ ์ํฐ๋นํฐ์ ์ฌ๋ผ๊ฐ ํ๋๊ทธ๋จผํธ๊ฐ ํ๋๊ทธ๋จผํธ ๊ด๋ฆฌ์์ replace๋ฉ์๋๊ฐ ํธ์ถ์ด ๋์์ ๋ destroy ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ํํ ์ด์ ๋ ์ ๊ฐ ์์ง ์ด๋ณด์๋ผ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ด๋ฆฌ์์ ์์ ๋ ๋ ๋ค๊ณ ํด์ผํ๋, ํ๋๊ทธ๋จผํธ๊ฐ ๊ทธ๋ฅ ํ๋์ ์กํฐ๋นํฐ๊ฐ ๋์ด๋ฒ๋ฆฐ๊ฒ ๊ฐ์ ๋๋์ด ๋ญ๋๋ค. ๊ทธ๋์ ์ฒ์์ ํ๋ฉด์ด ์ค๋ณต๋์ด ๋์ค๊ธธ๋ ๋ฐฉ์์ ์ฐพ์์ ํ ๊ฒ์ด ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ด์์ต๋๋ค.
๊ทธ๋ฅ ํผ์ ๊ณต๋ถํ๋ฉด์ ๋์ ์ด๋ ๊ฑฐ๋ผ ์ ๋ฆฌ๊ฐ ์ ์๋๊ฒ ๊ฐ๊ธด ํ๋ฐ ์กฐ๊ธ์ด๋ผ๋ ๋์์ด ๋์ จ์ผ๋ฆฌ๋ผ ์๊ฐํ๊ณ ์ด๋ง ์ค์ด๊ฒ ์ต๋๋ค.
์ด์ ์ผ์ด์น์์ต๋๋ค.
๊ฑด๊ฐ์กฐ์ฌํ์๊ณ ์ฆํํ์ธ์ ^-^ ( ์ ์ฌ๋ฆ ๊ฐ๊ธฐ์ ๊ฑธ๋ ค์ ์ฃฝ์๋ง์ด๋ค์ ใ ใ )