在Domino To Go中拉出刷新TableView

时间:2013-10-18 12:22:31

标签: titanium dominotogo

有没有办法使用Domino to Go JSON数据设置“pull to refresh”?我一直在特别关注这个小部件:https://github.com/FokkeZB/nl.fokkezb.pullToRefresh

上面的pull to refresh小部件似乎需要一个模型/集合。这将如何与从Domino生成的JSON数据集成到Go?

1 个答案:

答案 0 :(得分:1)

完全没问题。看看这个基于Alloy的代码:

<View layout="vertical"  height="Ti.UI.SIZE" width="Ti.UI.FILL" top="0" left="0">
<View id="SyncControl" layout="horizontal" height="Ti.UI.SIZE" width="Ti.UI.FILL"> 
  <SearchBar id="navigation_query" clearButtonMode="1" onReturn="events_runquery" showCancel="true" onCancel="events_cancel" autocorrect="false" hintText="Namensteil oder Ort eingeben"/>
</View>
<TableView id="navigation_table" onClick="events_click" top="2">
    <Widget id="ptr" src="nl.fokkezb.pullToRefresh" onRelease="events_pullRefresh" />
</TableView>
</View>

并在控制器中:

function events_pullRefresh(e) {
  sync();
}

同步():

function sync() {
    try {
        if (!Ti.Network.online) {
            YN.log("sync: no network.");
            return;
        }
        if (!Alloy.Globals.notesdb) {
            DTG.UI.alert(ynL("sync9"));
            return;
        }
        Alloy.Globals.syncInProgress = true;
        var view = Alloy.Globals.notesdb.getView("(mobile_companies)");
        view.update(sync_contacts, false, 'Sync failed: %s', {progressCallback : sync_progress});
    } catch (e) {
        DTG.exception("sync -> sync", e);
    }
}

所以,很简单,实际上: - )