Search code examples
androidandroid-adapterandroid-imageviewflipperandroid-adapterview

Displaying the same images in different lists with a view flipper


I have viewflipper which contains 3 childs, one GridView and two custom ListView, every view has different adapter , and every adapter has a image loader with Universal Image Loader library.

The items are the same for all adapters, my goal is to show content in different way (grid , list , and big list), but in this way every image loads 3 times. Is there any way to load images once and show them to their childs?

enter image description here


Solution

  • So you need an object common to the three views, which manages image loading and holds memory. You have it: it's the Adapter. Use a single one and just switch layouts.

    For instance, you could define this method inside the adapter:

    int layoutResId;
    public void changeLayout(int layoutResId) {
        this.layoutResId = layoutResId;
        notifyDataSetChanged(); //force the adapter to call getView() again
    }
    

    Then in your getView() method you just inflate the layout defined by layoutResId.