У меня есть список, который может быть обновлен пользователем, но notifyDataSetChanged() не работает с адаптером, связанным с listView. Я использую его в фрагменте. Datbase обновляется, однако у adpater нет. Ниже приведена моя реализация:
Мой основной товар:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    myArrayList = new ArrayList<myList>();
    myArrayList = Database.getSharedObject(getActivity()).getMyList();
    if (myArrayList != null && myArrayList.size() > 0) {
        adapter = new myListAdapter(getActivity(), 0, myArrayList);
    }
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.mainfragment, container, false);
    myListView = (ListView) v.findViewById(R.id.my_list_view);
    myListView.setOnItemClickListener(this);
    if (adapter != null) {
        myListView.setAdapter(adapter);
    }
    return v;
}
После того, как некоторые обновления процесса навигации обновляются, а в моем методе onResume() я получаю обновленный список из базы данных и вызываю метод notifyDataSetChanged(), который не обновляет мое представление, однако соответствующий массив из БД обновляется один.
@Override
public void onResume() {
    super.onResume();
    myArrayList = Database.getSharedObject(getActivity()).getMyList();
    adapter.setItems (myArrayList);
    adapter.notifyDataSetChanged();
}
MyListAdapter
public class MyListAdapter extends ArrayAdapter<Message> {
    private ArrayList<Message> myList;
    /* Context */
    private Context context;
    public void setItems (ArrayList<Message> myList) {
        this.myList = myList;
    }
    public MyListAdapter (Context context, int textViewResourceId, ArrayList<Message> myList) {
        super(context, textViewResourceId, myList);
        this.context = context;
        this.myList = myList;
    }
    @Override
    public View getView (int position, View v, ViewGroup parent) {
        // Keeps reference to avoid future findViewById()
        MyViewHolder viewHolder;
        if (v == null) {
            LayoutInflater li = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = li.inflate(R.layout.list_row, parent, false);
            viewHolder = new MyViewHolder();
            viewHolder.txtImage = (ImageView) v.findViewById(R.id.message_icon);
            viewHolder.txtMessage = (TextView) v.findViewById(R.id.message);
            viewHolder.txtDate = (TextView) v.findViewById(R.id.date);
            v.setTag(viewHolder);
        } else {
            viewHolder = (MyViewHolder) v.getTag();
        }
        Message myMessage = new Message();
        myMessage = myList.get(position);
        if (myMessage != null) {
            viewHolder.txtMessage.setText(myMessage.getText());
            viewHolder.txtDate.setText(myMessage.getDate());
        }
        return v;
    }
    static class MyViewHolder {
        ImageView txtImage;
        TextView txtMessage;
        TextView txtDate;
    }
}
Любая мысль о том, что происходит не так? Почему обновление списка не обновляется? Любые советы приветствуются.