0

我正在使用 jDeveloper 12.1.3 和 MAF 2.0.0.0。我正在尝试在移动应用程序中构建设置页面。所有项目均基于移动设备上的本地 SQLite 数据库。我已经设置了 POJO(getter 和 setter)和 DC 类,initializedb.sql 和 connectionfactory.java 文件准备好了。这是我的问题:

每当我选中其中一个复选框时,页面都会刷新并清除页面上的所有内容。我没有任何与任何复选框关联的 valueChangeListener 。

我对 ADF 和 MAF 非常陌生,所以我认为我缺少一些简单的东西。提前感谢您提出问题/意见/疑虑。

这是相关的代码:

项目本身的 XML:

<amx:selectBooleanCheckbox value="#{bindings.requireTagAndStateOrVin.inputValue}" label="#{bindings.requireTagAndStateOrVin.label}" id="sbc1"/>

来自 Settings 类的 Java:`public void setRequireTagAndStateOrVin(String requireTagAndStateOrVin) { this.requireTagAndStateOrVin = requireTagAndStateOrVin; }

public String getRequireTagAndStateOrVin() {
    return requireTagAndStateOrVin;
}`

来自 SettingsDC 类的 Java

`public class SettingsDC { private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);

public SettingsDC() {
    super();
}

public Settings[] getSettings(){
    Settings[] settings = null;
    settings = getSettingsFromDB();
    return settings;
}

private Settings[] getSettingsFromDB(){
    Connection conn = null;
    List returnValue = new ArrayList();
    try {
        conn = ConnectionFactory.getConnection();
        Statement stmt = conn.createStatement();
        ResultSet result = stmt.executeQuery("SELECT * FROM MY_TABLE;");
        while (result.next()){
           settings.setRequireTagAndStateOrVin(result.getString("REQUIRE_TAG_AND_STATE_OR_VIN_IND"));
           returnValue.add(settings);
        }
    } catch (Exception ex){
        Utility.ApplicationLogger.severe(ex.getMessage());
        ex.printStackTrace();
        throw new RuntimeException(ex);
    }
    Collections.sort(returnValue);
    return (Settings[]) returnValue.toArray(new Settings[returnValue.size()]);
}

public void addPropertyChangeListener(PropertyChangeListener l)
{
  propertyChangeSupport.addPropertyChangeListener(l);
}

public void removePropertyChangeListener(PropertyChangeListener l)
{
  propertyChangeSupport.removePropertyChangeListener(l);
}

}`

4

1 回答 1

1

您正在艰难地进行设置页面。

请使用已经嵌入在maf中的prefrences

37(核心)。设置设备偏好:http: //youtu.be/C469lObO_TQ

于 2014-08-22T08:39:49.573 回答