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:

Djembefola

Active Member
Licensed User
Longtime User
Wow! Amazing!
:sign0188:
This will be very useful for database application developers.
 

Mahares

Expert
Licensed User
Longtime User
@Frederic:
1. I think making the documentation available that explains in detail what each class or library is capable of doing to prospective buyers will help your sales. People are not going to buy something when they do not have a full grasp of what it does.
2. When you produce upgrades, are they available to buyers and for how long.
3. Always remember: People that use your product are essentially helping you improve it by debugging and recommending enhancements, as was the case when your classes and libs are free. So, be easy on the prices. Any high library or class prices will have a negative impact on Erel's B4A sales when buyers start factoring the overall cost.
Merci d'avance
 

Informatix

Expert
Licensed User
Longtime User
@Frederic:
1. I think making the documentation available that explains in detail what each class or library is capable of doing to prospective buyers will help your sales. People are not going to buy something when they do not have a full grasp of what it does.

Good idea. I added a PDF listing the contents in detail and an excerpt of the documentation listing the methods & properties of the main classes and libraries.

2. When you produce upgrades, are they available to buyers and for how long.

Upgrades are unlimited and free for buyers. I'm very reactive to fix bugs (if any).

3. Always remember: People that use your product are essentially helping you improve it by debugging and recommending enhancements, as was the case when your classes and libs are free. So, be easy on the prices. Any high library or class prices will have a negative impact on Erel's B4A sales when buyers start factoring the overall cost.
Merci d'avance

I won't change my price because this price looks to me like a fair reward for my work. How many views like this exist in the world ? To my knowledge: none. Even in the Java world, it doesn't exist something like this (or it is well hidden, or not publicly available). It's an unique work. I spent full weeks on this. The result is not an easy thing that everyone can do, especially when it comes to imbricate many algorithms. I can make an offer to any buyer: if you can improve the ULV significantly, I refund you (and I'll do it with pleasure because it will mean that the product has been improved).

In comparison, I consider that most of my free classes are something that an advanced user or a professional developer can easily replicate.

These last weeks, I made two interesting experiences:
- adding a donate button (very poor results; a lot of people download my stuff and forget to donate despite the minimal donation asked for);
- selling my work directly to customers (very good results; that does not encourage to create free stuff; I could really earn a living this way but this is not what I'm looking for).
I don't believe that a very low price will help the sales. This price, to my opinion, is already a very low price, almost a gift. I would have charged this product to a single customer probably two or three thousand euros.

And don't worry, I will continue to release free classes or libraries (as donationwares probably).
 

bluedude

Well-Known Member
Licensed User
Longtime User
I think it is a very fair price for such functionality. To create a great list is a pain.
 

keirS

Well-Known Member
Licensed User
Longtime User
Just looking at the documentation and one thing I can't work out is if you can have variable row heights in tables (looking at the Table for ULV Class documentation). If you can I think you may have another customer.
 

Informatix

Expert
Licensed User
Longtime User
Just looking at the documentation and one thing I can't work out is if you can have variable row heights in tables (looking at the Table for ULV Class documentation). If you can I think you may have another customer.

The ULV is a bit different from the other lists (ListView, CustomListView, CheckList, Table...) and what you can find here may not be found there because of the different way of doing things (you do not load data into the list at the beginning, for example), but don't worry about the features: the ULV can do all that these lists can do, and a lot more.

You can see in the screenshots with flowers that you can mix items (or rows) with many different heights. And you can change the height at any time, or the whole layout of the item if you want. Items can even have an appearance that automatically adapts to their content.
 

imbault

Well-Known Member
Licensed User
Longtime User
This library is just awesome !!!!

I bought it this week end.
I've just released an app for our IT organization, it took me just a couple of hours.

I recommend all developpers to buy it. It's a must have library

And the reactivity of the developper around issues is fantastic.

Patrick
 

bluedude

Well-Known Member
Licensed User
Longtime User
Wondering why you don't provide apk's of your samples? That way I could testdrive a few features and see how good it is!
 

bluedude

Well-Known Member
Licensed User
Longtime User
Just donated

Hi,

I just donated EUR 25, how can I get the Ultimate listview?
 

bluedude

Well-Known Member
Licensed User
Longtime User
Overwhelming

I just checked out some samples and it is pretty overwhelming indeed.

I basically want to use this to replace all my old scrollview code.

Cheers,
 
Top