Skip to content Skip to sidebar Skip to footer

Issue With Android Spinners - Loading Distinct Values In Spinners

I'm using two Spinners to show the items I'm getting from the json response. I have 2 problems right now. When u check my logcat u can see there are items repeating (Right side lis

Solution 1:

Call this method to get distinct descriptions and then set the adapter using the return value of this function...

public static ArrayList<String> removeDuplicatesFromList(ArrayList<String> descriptions)
{
    ArrayList<String> tempList = new ArrayList<String>();
    for(String desc : descriptions)
    {
        if(!tempList.contains(desc))
        {
            tempList.add(desc);
        }
    }
    descriptions = tempList;
    tempList = null;
    return descriptions;
}

For instance

description = Utils.removeDuplicatesFromList(description);
ArrayAdapter<String> dataAdapterDes = new ArrayAdapter<String>(
                this, android.R.layout.simple_spinner_item, description);

NOTE:

I would suggest you make a new class call it Utils.java and place the above method inside it and then call it i have mentioned above.

Like this...

import java.util.ArrayList;

public class Utils
{

    private Utils()
    {
        //Its constructor should not exist.Hence this.
    }

    public static ArrayList<String> removeDuplicatesFromList(ArrayList<String> descriptions)
    {
        ArrayList<String> tempList = new ArrayList<String>();
        for(String desc : descriptions)
        {
            if(!tempList.contains(desc))
            {
                tempList.add(desc);
            }
        }
        descriptions = tempList;
        tempList = null;
        return descriptions;
    }

}

I hope it helps.


Post a Comment for "Issue With Android Spinners - Loading Distinct Values In Spinners"