First thing first notifyDataSetChanged() only will work with the same reference of dataset . And you have created a new list int your adapter’s constructor . So you are going nowhere from here . It should as simple as .
private ArrayList mArraylist = new ArrayList();
public MenuGridViewAdapter(Activity activity, ArrayList mArraylist) {
this.activity = activity;
this.mArraylist = mArraylist;
}
Below are some mistakes you have made.
1.. You have created a new instance of dataset so notifyDataSetChanged will not work.
2. You have called notifyDataSetChanged() in the constructor why ? Its useless.
So the whole point is dataset reference should be same. Then only notifyDataSetChanged will work only if you made changes in the same list.
Suggestion:- Move to RecyclerView with GridLayouManager. It provide the better approach for ViewHolder pattern.
3
solved GridView is not refreshing with notifyDataSetChanged()