์์๋ findByViewId๋ฅผ ์ฌ์ฉ ์ ํ๋ด์?
์์ ํ๋ ํ๋ก์ ํธ๋ง๋ค ๋ค ๋ณ๊ฒฝํ๋ ์ค์ด๋ค.
๋ทฐ๊ฐ ํ ๋๊ฐ๊ฐ ์๋๋ฐ ์ฐ๊ฒฐํ๊ธฐ ๊ท์ฐฎ์๊ฑฐ๋ฑ์ ;ใ
;
๐ build.gradle
android {
...
viewBinding {
enabled = true
}
}
๐ RegisterActivity.class
ActivityRegisterBinding binding;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityRegisterBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.nameTxt.setText("์ธ๋๋ผ");
}
๐ RegisterFragment.class
FragmentProtocolBinding binding;
@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
binding = ResultProfileBinding.inflate(inflater, container, false);
View view = binding.getRoot();
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
๐จ onDestroyView()์์ ์ ๋ฆฌํ๋ ์ด์
๐ก findViewById์ ์ฐจ์ด์
--> ๋ ์ด์์๊ณผ ์ฝ๋์ ๋นํธํ์ฑ์ผ๋ก ์ธํด ๋ฐํ์์ด ์๋ ์ปดํ์ผ ์๊ฐ์ ๋น๋๊ฐ ์คํจํ๊ฒ ๋จ!
๋ฐ์ดํฐ ๊ฒฐํฉ๊ณผ ๋ทฐ ๊ฒฐํฉ์ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ์ ์ผ ์ข๋ค๊ณ ํ๋ค.
์ด๊ฒ๋ ๊ณต๋ถ ์ค์ด๊ธฐ๋ ํ๋ฐ ์์ง์ ์ํด๋ฌ์ ๋ ๊ณต๋ถํด๋ณด๊ณ ์ ๋ฆฌํ ์์ '^'
๐ ๋ฐ์ธ๋ฉ ํด๋์ค์์ ํ์ํ์ง ์์ ๋ทฐ๊ฐ ์๋ค๋ฉด
tools:viewBindingIgnore="true"
์ํ๋ ๋ทฐ์ ๋ถ๋ชจ ๋ ์ด์์์ ์ฝ๋ ์ถ๊ฐํด์ฃผ๋ฉด ๋ฐ์ธ๋ฉ์ด ๋์ง ์๋๋ค๊ณ ํจ
์ฐธ๊ณ : https://developer.android.com/topic/libraries/view-binding?hl=ko