2017-10-27 5 views
1

을 사용하여 상위 레이아웃 내에 일부 레이아웃을 포함하고 있습니다.BR 파일의 데이터 바인딩 문제

문제점 : 일부 내 viewModel 필드는 BR 파일에서 생성되고 일부는 누락되었습니다. 문제가 무엇입니까?

설명 :

  • 누락 필드가 <include> 태그에 포함되어 레이아웃에 사용됩니다.

  • 생성 된 필드는 상위 레이아웃에서 사용됩니다. 예를 들어

:

아래 코드 BR.name 변수 이름에서 BR 파일 생성 상위 레이아웃에 사용된다.

public void setName(String phoneNumber){ 
     this.phoneNumber = phoneNumber; 
     notifyPropertyChanged(BR.phoneNumber); 
    } 

아래 코드는 자식 레이아웃에 사용되는 BR 파일에 암호가 없습니다.

public void setPassword(String password){ 
    this.password = password; 
    notifyPropertyChanged(BR.password); 
} 

왜 이런 일이 발생했는지에 대한 도움이 필요하십니까?

지금까지 시도한 내용은 무엇입니까?

android studio를 다시 시작하고 캐시를 무효화했지만 여전히 문제가 있습니다.

답변

1

만세! Google의 공식 사이트에서 해결책 here을 발견했습니다.

"는 바인딩 주석은 컴파일시 BR 클래스 파일에 항목을 생성합니다."

그래서 난 그냥 게터에 @Bindable 주석을 추가해야합니다.