If I want to manually trigger Pull to Refresh on Container in Codename One after the load of the form. Please advise if anyone have any idea.
Asked
Active
Viewed 217 times
1 Answers
3
It's easy, the trick is the use of the showListener
. Suppose that this is the starting code (taken from the Codename One Developer Guide, section "Pull to refresh"):
Form hi = new Form("Pull To Refresh", BoxLayout.y());
hi.getContentPane().addPullToRefresh(() -> {
hi.add("Pulled at " + L10NManager.getInstance().formatDateTimeShort(new Date()));
});
hi.show();
To invoke the "Pull to Refresh" listener after the load of the Form, you can do so:
Form hi = new Form("Pull To Refresh", BoxLayout.y());
Runnable myRunnable = () -> {
hi.add("Pulled at " + L10NManager.getInstance().formatDateTimeShort(new Date()));
};
hi.getContentPane().addPullToRefresh(() -> {
myRunnable.run();
});
hi.addShowListener(l -> {
myRunnable.run();
});
hi.show();

Francesco Galgani
- 6,137
- 3
- 20
- 23
-
FYI if you are using `InfiniteContainer` you can use `refresh()`. – Shai Almog Jul 06 '18 at 03:57
-
Shai. refresh() method doesn't trigger manual refresh on the container. I want to refresh the container after the load of the form means I should trigger swipe down (refresh) action manually without swiping down the container. Please advise. Thanks – Vinod Aug 20 '18 at 22:19
-
`pullToRefresh` just invokes a method you can just invoke that method manually as shown by by @francesco-galgani – Shai Almog Sep 05 '18 at 03:25