[Android/Java] Jetpack DataBinding
5598 단어 안드로이드JetpackAndroidStudio자바
Jetpack DataBinding에서 버튼 이벤트를 설정하는 방법을 예로 들어 설명합니다.
Android Developer의 Jetpack DataBinding에 대한 설명은 다음과 같습니다.
준비
아래를 참조하여 Jetpack Navigation + ViewModel을 만듭니다.
DataBinding을 사용하기 위한 설정
build.gradle에 다음을 추가합니다.
DataBinding을 활성화하면 Binding 클래스가 자동으로 생성됩니다.
build.gradle
android {
dataBinding {
enabled = true
}
}
ViewModel에서 준비
버튼 이벤트를 받는 메소드를 준비합니다.
MainViewModel.java
public void onClickButton() {
}
Fragment의 Layout 준비
여기에서는 FrameLayout을 ConstraintLayout으로 설정하고 id : 버튼의 버튼을 추가합니다.
※ Convert FraneLayout to ConstraintLayout에서도 변경할 수 있습니다
Code를 열고 ConstraintLayout 태그의 부분에서 windows의 경우는 Alt+Enter 등으로
Convert to data bindinglayout을 선택합니다.
추가된 데이터 태그에 ViewModel 추가
main_fragment.xml
<data>
<variable name="viewModel" type="com.xxx.sample.MainViewModel" />
</data>
버튼의 onClick에 다음을 추가합니다.
※Design 또는 Code로 직접 추가해 주세요
@{() -> viewModel.onClickButton()}
Fragment에서 준비
DataBinding 준비 및 DataBinding에 ViewModel을 설정합니다.
MainFragment.java
// ViewModelはFragment作成時のテンプレートで自動生成されたものです
private MainViewModel mViewModel;
// 自動生成されます(main_fragment.xml)
private MainFragmentBinding binding;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
binding = DataBindingUtil.inflate(inflater, R.layout.main_fragment, container, false);
final View view = binding.getRoot();
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mViewModel = new ViewModelProvider(this).get(MainViewModel.class);
// TODO: Use the ViewModel
binding.setViewModel(mViewModel);
}
이 기사는 다음 기사의 보충
Reference
이 문제에 관하여([Android/Java] Jetpack DataBinding), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/smurata_pvt/items/feaab9b7a8e186e334f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)