O RecyclerView não mostra nada após atualizar os dados do adaptador

Pessoal, preciso de ajuda com esse assunto. Estou analisando meu código há alguns dias para descobrir o que está errado, mas não consegui descobrir. Eu tenho um fragmento com um RecyclerView. Eu inicializo os dados do adaptador com um espaço reservado para imagem e algum texto padrão, e o fragmento mostra-os conforme o esperado. Em seguida, usando um carregador, eu busco dados da Internet e analiso e transmito os novos dados para o adaptador (todos isso acontece conforme necessário) até que os dados cheguem ao adaptador, então os dados iniciais desaparecem e os novos dados não estão mostrando realmente o fragmento mostra uma tela em branco, definitivamente estou fazendo algo errado, por favor, informe. Este é o código do fragmento

public class fragment_MovieStartGridlayout extends android.support.v4.app.Fragment implements MyGridAdapter.MyGridAdapterListener{

private static RecyclerView myRecyclerView;
private static MyGridAdapter myGridAdapter;
private static RecyclerView.LayoutManager rvLayoutManager;
private LoaderManager.LoaderCallbacks<ArrayList<HashMap>> dataLoaderCallbacks;


private OnFragmentInteractionListener mListener;

public fragment_MovieStartGridlayout() {

}

@Override
public void onActivityCreated  (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

  dataLoaderCallbacks = new LoaderManager.LoaderCallbacks<ArrayList<HashMap>>() {

  @Override
  public Loader<ArrayList<HashMap>> onCreateLoader(int id, Bundle args) {
   return new DataLoader(getActivityContext(), MyUriBuilder.DISCOVER, null);
            }

@Override
public void onLoadFinished(Loader<ArrayList<HashMap>> loader,ArrayList<HashMap> data) {
                myGridAdapter.setMyAdapterData(data);
            }

            @Override
            public void onLoaderReset(Loader<ArrayList<HashMap>> loader) {
                loader.reset();
            }

        };
        getLoaderManager().initLoader(0, null, dataLoaderCallbacks);

    setRetainInstance(true);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View fragGridLayout = inflater.inflate(R.layout.fragment_gridlayout_movie_start, container, false);
    myRecyclerView = (RecyclerView) fragGridLayout.findViewById(R.id.myViewRecycler);
    rvLayoutManager = new GridLayoutManager(getActivityContext(),2);
    myRecyclerView.setLayoutManager(rvLayoutManager);
    myGridAdapter = new MyGridAdapter(getActivityContext());
    myRecyclerView.setAdapter(myGridAdapter);

    return fragGridLayout;
}


@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    try {
        mListener = (OnFragmentInteractionListener) activity;
    } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString()
                + " must implement OnFragmentInteractionListener");
    }
}

@Override
public void onDataSetChanged(boolean state) {
    if (state){
        myGridAdapter.notifyDataSetChanged();
    }
}


public interface OnFragmentInteractionListener {
    public void onFragmentInteraction(Uri uri);
}


    public Context getActivityContext(){
        return this.getActivity();
    }

}

e este é o adaptador para o RecyclerView

 public class MyGridAdapter extends RecyclerView.Adapter<MyGridAdapter.MyViewHolder> {

LayoutInflater layoutInflater;
private static ArrayList<HashMap> data=null;
private Context mContext;
public static Bitmap placeHolder;
    public MyGridAdapter(Context context){
      mContext = context;
      setInitialData();
      placeHolder =    BitmapFactory.decodeResource(mContext.getResources(),R.drawable.android_blue);
}
    public interface MyGridAdapterListener{
        public void onDataSetChanged(boolean state);
    }

private MyGridAdapterListener listener = null;
public void registerListener(MyGridAdapterListener newListener){
    listener = newListener;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    Context context = parent.getContext();
    layoutInflater = LayoutInflater.from(context);
    View v = layoutInflater.inflate(R.layout.gridlayout_item_movie_start, parent, false);
    MyViewHolder vHolder=new MyViewHolder(v);
    return vHolder;
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {

      HashMap singleData = data.get(position);
      String movieRate = String.valueOf(singleData.get(MyJSONDataParser.TAG_VOTE_AVERAGE)) ;
        holder.movieTitle.setText((String)singleData.get(MyJSONDataParser.TAG_TITLE));
        holder.moviePoster.setImageBitmap(placeHolder);
        holder.movieRating.setRating(Float.valueOf(movieRate));
}

@Override
public int getItemCount() {
    return data.size();
}


public static class MyViewHolder extends RecyclerView.ViewHolder  {
    TextView movieTitle;
    RoundedImageView moviePoster;
    RatingBar movieRating;

    public MyViewHolder(View v) {
        super(v);
        movieTitle = (TextView) v.findViewById(R.id.movieTitleTextView);
        moviePoster = (RoundedImageView) v.findViewById(R.id.roundImageView);
        movieRating = (RatingBar) v.findViewById(R.id.ratingBar);
    }
}


private boolean dataChanged = false;

public void setMyAdapterData(ArrayList<HashMap> data){
        this.data = data;
        dataChanged = true;
        if (listener != null){
            listener.onDataSetChanged(dataChanged);
        }
    }


protected void setInitialData(){
    HashMap initialItem = new HashMap();
    ArrayList<HashMap> initialData = new ArrayList<>(20);

    initialItem.put(MyJSONDataParser.TAG_TITLE, "Loading...");
    initialItem.put(MyJSONDataParser.TAG_MOVIE_BITMAP, placeHolder);
    initialItem.put(MyJSONDataParser.TAG_VOTE_AVERAGE, 3.3);
    for (int i = 0;i<20;i++){
        initialData.add(initialItem);
    }
    this.data = initialData;
}

}

questionAnswers(2)

yourAnswerToTheQuestion