Skip to content Skip to sidebar Skip to footer

Data Fails To Be Updated In Expandable List

I am calling three JSONRequests with Volley and this method is called at every response of the request. This method only is executed when all three responses are ready. But when I

Solution 1:

Do the variable initializations before the logic starts -

privatevoidupdateWhenReady(){

    System.out.println(validCurrent+ " " +  validDaily + " " + validHourly );

    weatherList = dbHelper.getWeatherConditionsHashMap();
    hourlyList = newArrayList<WeatherCondition>(weatherList.keySet());
    adapter = newWeatherSearchListAdapter(getActivity().getApplicationContext(), weatherList, hourlyList);

    System.out.println(validCurrent + " " + validDaily + " " + validHourly);

    if(validCurrent && validDaily && validHourly)
    {   
        System.out.println("in");


        for (WeatherCondition wc: dailyResponseList)
        {
            ArrayList<WeatherCondition> tempList = newArrayList<>();
            for(WeatherCondition w: hourlyResponseList)
            {
                if(w.getDate().equalsIgnoreCase(wc.getDate()))
                {
                    tempList.add(w);
                }
            }

            weatherList.put(wc,tempList);

        }

        for (WeatherCondition weatherCondition: weatherList.keySet())
        {
            System.out.println(" +   " + weatherCondition.getDate());
        }

        //Do you need to reset these? What if only two of the three were true?
            validCurrent = false;
            validDaily = false;
            validHourly = false;
        }
    }
    expList.setAdapter(adapter);
    /* If you are setting adapter every time *updateWhenReady* is invoked, no need to notifyDataSetChanged, because its a new adapter and layout will be drawn fresh *///adapter.notifyDataSetChanged();

}

Solution 2:

In getChildView

inflate using fragment_daily_list_parent

copy-past error?

Post a Comment for "Data Fails To Be Updated In Expandable List"