B4A Library [Lib] UltimateListView

I've been working on this project for a long time and I'm very proud to release the version 4 today.

The UltimateListView is, as its pompous name says, THE ListView.

  • It can handle very long lists. This is a screenshot of a list with 245813 items, all different:

    verylonglist.jpg


  • It can mix different layouts (and they can be changed dynamically). You can use it as an expandable ListView:

    layouts.jpg


  • It has a low memory footprint and is very fast (this report comes from the Performance demo where the list has to display 128901 distinct words read from a database and the used device is a Huawei Honor single core 1.4 Ghz):

    performance.png


  • It can scroll in both directions thanks to its swipe detector:

    tables.jpg


  • The swipe detector can also be used to implement a swipe-to-dismiss or a swipe-to-reveal:

    swipedetector.png
  • You can easily add editors to your table to change its content:

    celledit.jpg


  • You can animate the items when they are added, removed, replaced or when the list is scrolled (with your own custom animation):

    animationclap.png


  • It can stack items from the bottom:

    stackfrombottom.png


  • It supports drag & drop operations (internal & external):

    dragndrop.png


  • You can synchronize lists with different item heights:

    grid.jpg
The examples will show you how to implement a Pull-to-Refresh, create sticky headers or combine several lists to make a wheel. One of the examples is an improved version of my File Explorer class.

All texts and images can be loaded asynchronously (from Internet, from a database or from a local folder), so you can scroll even if the data are not fully loaded.

The list has its own state manager.

Since September 2018, ULV is available for free. You can still donate for it if you wish.
To send the money, just click on the Donate button below (the amount to enter is in euros):


Note that UltimateListView is not a wrapper around the work of someone else. It is 100% my own code and it is based upon the standard Java ListView of Android.

The UltimateListView does not work with Android versions < 2. It cannot work with B4J or B4i.

Current version: 4.50

DOWNLOAD HERE:
 
Last edited:

zsugar

Member
Licensed User
Longtime User
Hi, I'd like to buy UltimateListView.All ii needs is donate? I have to indicate email? Thanks in advance, gzuccaro
 

BarryW

Active Member
Licensed User
Longtime User
I've been working on this project for a long time and I'm very proud to release the version 4 today.

The UltimateListView is, as its pompous name says, THE ListView.

  • It can handle very long lists. This is a screenshot of a list with 245813 items, all different:

    View attachment 18467

  • It can mix different layouts (and they can be changed dynamically). You can use it as an expandable ListView:

    View attachment 14357

  • It has a low memory footprint and is very fast (this report comes from the Performance demo where the list has to display 128901 distinct words read from a database and the used device is a Huawei Honor single core 1.4 Ghz):

    View attachment 21236

  • It can scroll in both directions thanks to its swipe detector:

    View attachment 14361

  • The swipe detector can also be used to implement a swipe-to-dismiss or a swipe-to-reveal:

    View attachment 21240
The examples will show you how to implement a Pull-to-Refresh, create sticky headers or combine several lists to make a wheel. One of the examples is an improved version of my File Explorer class.

All texts and images can be loaded asynchronously (from Internet, from a database or from a local folder), so you can scroll even if the data are not fully loaded.

The list has its own state manager.

Due to the important work made, I request a minimum donation amount of 25 euros.

To send the money, just click on the Donate button below (the amount to enter is in euros).

What you'll get:
- the main library and all the libraries required by the examples;
- a complete User's Guide;
- a detailed list of all functions, events and properties;
- a tutorial;
- 16 examples with a few useful and reusable classes.

Note that UltimateListView is not a wrapper around the work of someone else. It is 100% my own code and it is based upon the standard Java ListView of Android.

You can download here the list of all functions and properties, and the table of contents of the user's guide.

With my catalog, you can try all examples of this library.

The UltimateListView does not work with Android versions < 2.

Current version: 4.06

Bonus : the DataCollection library is available for free with UltimateListView.

How to use this function ?

LoadTextAsync

Tnx
 

ilan

Expert
Licensed User
Longtime User
Indeed. You have to convert your layout to a row layout. That works only with CellPanel.

hi @Informatix

i am getting also an Null pointer exception and i dont know what you mean with "convert your layout to a row layout"

can you please help me to get the ripple effect lib working with ULV??

thank you
 

GuyBooth

Active Member
Licensed User
Longtime User
I am receiving this message in my application. Currently using v 4.03 of UltimateListView.
B4X:
Unexpected event (missing RaiseSynchronousEvents): ulv_primarygroups_vtlot_contentcreator
Has this been taken care of in the current version (4.06)?
 

Informatix

Expert
Licensed User
Longtime User
Support for ripple effect view, please :) (if it is not too much work)

Thank you
I don't know what I could do. That concerns the views that you place inside ULV not ULV. And I explained how to use the Ripple library with ULV in a former post. It works fine except that the Ripple library sucks because of the way it does the animation.
 
Last edited:

JNG

Member
Licensed User
Hi Mr.Informatix,

Is Drag & drop , Provides the features of dragging and dropping items across sections in ULV
 

Informatix

Expert
Licensed User
Longtime User
It's a bit too late for this version as I'm finishing it. Anyway I won't add drag & drop between sections because this is not coherent with what sections are. If the user has to move items between sections, then don't use sections. They are intended to group items sharing a common property (first letter, country, date of picture, type of product, etc.).
 

Informatix

Expert
Licensed User
Longtime User
There's a new version available. It requires B4A v5.80.

Changelog:
- UltimateListView can be added as a custom view in the designer;
- I fixed a minor bug in ClsExplorerForULV.bas;
- I added a "assets:" tag to LoadImageAsync to load images from the assets;
- I added the DeleteAllStateFiles function;
- I added the Parent property;
- I added the SynchronizePositionWith function and a demo that shows its usefulness;
- I added 12 new styles for SetStyle (still using system drawables);
- I udpated the manifest of examples and fixed a few style issues.
 
Top