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:

Jmu5667

Well-Known Member
Licensed User
Longtime User
Hi, has anyone experienced scrolling issues, in particular with the top down (chat method), I have 4 devices, HTC ONE X (ok), HTC ONE V (not scrolling), VodaFone 785 (ok), MTK Mini S5 (not Scrolling).

On the devices that do not scroll, the click event work but does not scroll.

Regards

John.
 

Jmu5667

Well-Known Member
Licensed User
Longtime User
Hi, just checked the demo chat app on the one v and it scrolls perfectly, any ideas as to why my app is not scrolling correctly ?
 

b4auser1

Well-Known Member
Licensed User
Longtime User
Hi, Informatix

I wanted to look at Playground, as an example how to use ULV as a preference editor, but links for dowloading are broken. Could you restore the links?
 

jcesar

Active Member
Licensed User
Longtime User
Hi Informatix

I'm trying use the RsPopupMenu lib with ULV, but i'm having problems. The popup menu is displayed out of place. In this picture, i'm touch the first line and the popup is in the fourth line.

popup.png
 

Informatix

Expert
Licensed User
Longtime User
Hi Informatix

I'm trying use the RsPopupMenu lib with ULV, but i'm having problems. The popup menu is displayed out of place. In this picture, i'm touch the first line and the popup is in the fourth line.

popup.png
I tried this lib by replacing the code of the ULV_ItemClick event of the first tutorial project with the following code and everything worked as expected:
B4X:
Dim PopupMenu As RSPopupMenu
PopupMenu.Initialize("", ClickedPanel)
PopupMenu.AddMenuItem(1, 1, "Test1")
PopupMenu.AddMenuItem(2, 2, "Test2")
PopupMenu.AddSubMenuItem(3, 3, "Sub1")
PopupMenu.Show
 

jcesar

Active Member
Licensed User
Longtime User
I tried this lib by replacing the code of the ULV_ItemClick event of the first tutorial project with the following code and everything worked as expected:
B4X:
Dim PopupMenu As RSPopupMenu
PopupMenu.Initialize("", ClickedPanel)
PopupMenu.AddMenuItem(1, 1, "Test1")
PopupMenu.AddMenuItem(2, 2, "Test2")
PopupMenu.AddSubMenuItem(3, 3, "Sub1")
PopupMenu.Show

Thanks for your reply.

Now its working. My mistake...
 

Informatix

Expert
Licensed User
Longtime User
Hi Informatix, i would like to use your lib also with b4i, will you make it available for b4i users?
No, there will be no ULV for B4i. Developping ULV for iOS requires a computer running under MacOS, an iPhone, a developper license ($99/year) and many months spent to learn Objective-C (because I doubt that I could write ULV just with B4i) and write the new code. I prefer to spend my time on more motivating projects.
 

holdemadvantage

Active Member
Licensed User
Longtime User
No, there will be no ULV for B4i. Developping ULV for iOS requires a computer running under MacOS, an iPhone, a developper license ($99/year) and many months spent to learn Objective-C (because I doubt that I could write ULV just with B4i) and write the new code. I prefer to spend my time on more motivating projects.
Very bad news , i am sorry :(
 

Kevin

Well-Known Member
Licensed User
Longtime User
I just happened to see Andy's post because I am subscribed to this thread.

There should be a donate button in his signature line. Perhaps some kind of ad blocker or other setting in your browser?

Anyway, clicking here might work for you. I just copied the URL and pasted it in the link.
 

Devendra

Member
Licensed User
Longtime User
hi this looks a good post can this go to the following structure

1
1a
1a1

Two drop downs can you confirm
 
Top