TextView를 JodaTime 날짜에 바인딩하여 날짜 값을 프로그래밍 방식으로 변경하면 TextView도 함께 변경됩니다. 나는 그것을 처음 보여 주는데 성공했지만 날짜가 바뀌면보기가 업데이트되지 않습니다.bind TextView to date
텍스트 뷰 :
<TextView
android:id="@+id/day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mainViewModel.day}" />
뷰 모델 :
public class RoomListViewModel extends Observable{
private LocalDate day;
public String getDay(){
return day.toString("dd/MM/yyyy");
}
public void previousDay() {
day = day.plusDays(1);
setChanged();
notifyObservers();
}
public void nextDay() {
day = day.minusDays(1);
setChanged();
notifyObservers();
}
나는 무엇을 놓치고?
, 내 구성 그렇게하는 방법을 볼 수 없습니다. databinding.Observable을 구현하면 addOnPropertyChangedCallback을 사용하여 속성의 변경 사항을 청취해야하지만 그렇게하는 방법은 무엇입니까? –
안드로이드 데이터 바인딩은'java.util.Observable'에서 작동하지 않습니다. 그것은 'android.databinding.Observable'과 함께 작동합니다. 이것을 확장하는 대신 이미 구현이 필요한'BaseObservable'에서 확장하십시오. 그런 다음'notifyPropertyChanged (BR.day);를 호출하십시오. – mlyko
네, 불행히도이 앱은 그런 식으로 만들어졌습니다. 이 특별한 경우에 대한 빠른 수정이 필요했습니다. 어쨌든 유용한 정보에 감사드립니다. :) –