Android RoboBinding firePropertyChange()未定义错误

Android RoboBinding firePropertyChange()未定义错误,android,data-binding,viewmodel,model-view,robobinding,Android,Data Binding,Viewmodel,Model View,Robobinding,我目前正在开发Android数据绑定应用程序 我正在使用android“”库绑定模型视图和视图模型 我使用了来自的示例应用程序作为参考 这是我的PresentationModel.java类: @org.robobinding.presentationmodel.PresentationModel public class PresentationModel implements org.robobinding.property.ObservableBean { private Stri

我目前正在开发Android数据绑定应用程序

我正在使用android“”库绑定模型视图和视图模型

我使用了来自的示例应用程序作为参考

这是我的
PresentationModel.java
类:

@org.robobinding.presentationmodel.PresentationModel
public class PresentationModel implements
    org.robobinding.property.ObservableBean {
private String name;

public String getHello() {
    return name + ": hello Android MVVM(Presentation Model)!";
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public void sayHello() {
    firePropertyChange(name);

}

@Override
public void addPropertyChangeListener(String arg0,
        PropertyChangeListener arg1) {
    // TODO Auto-generated method stub

}

@Override
public void removePropertyChangeListener(String arg0,
        PropertyChangeListener arg1) {
    // TODO Auto-generated method stub

}

}
但它将错误显示为:PresentationModel PresentationModel.java类型的方法
firePropertyChange(String)
未定义

使用以下jar文件尝试了一个示例:

  • robobinding-0.8.4-jar-with-dependencies.jar
  • robobinding-0.8.4-SNAPSHOT-jar-with-dependencies
  • robobinding-0.8.5-SNAPSHOT-jar-with-dependencies
  • 以下是错误的屏幕截图:

    任何帮助都将不胜感激


    谢谢。

    现在我可以运行该应用程序了

    以下是解决方案:


    谢谢。

    如果不想使用AspectJ,应创建PresentationModelChangeSupport属性,并调用firePropertyChange()方法:


    该解决方案没有太大帮助——合作者说他将修改代码,使其不需要AspectJ。我不知道它适用于哪个版本,但我只能假设它是最新版本(v0.8.9 atm)。知道我为什么还有这个问题吗?
    @org.robobinding.annotation.PresentationModel
    public class PresentationModel implements HasPresentationModelChangeSupport {
    
        protected PresentationModelChangeSupport mChangeSupport;
        private String name;
    
        public PresentationModel()
        {
            mChangeSupport = new PresentationModelChangeSupport(this);
        }
    
        public String getHello() {
            return name + ": hello Android MVVM(Presentation Model)!";
        }
    
        public void sayHello() {
            mChangeSupport.firePropertyChange("hello");
        }
    
        @Override
        public PresentationModelChangeSupport getPresentationModelChangeSupport() {
            return mChangeSupport;
        }
    }