@Override
  public boolean onContextItemSelected(MenuItem item) {
    AdapterView.AdapterContextMenuInfo info =
        (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();

    ArrayList<Insert> items = new ArrayList<>();
    FragmentManager fm = getActivity().getSupportFragmentManager();
    Insert insert;

    switch (item.getItemId()) {
      case R.id.menu_toggle_fav:
        adapter.toggleSelection(info.position);
        break;

      case R.id.menu_edit:
        insert = (Insert) adapter.getItem(info.position);
        InsertDialogFragment dialog = InsertDialogFragment.newInstance(insert);
        dialog.show(fm, ARG_EDIT_INSERT);
        break;

      case R.id.menu_delete:
        insert = (Insert) adapter.getItem(info.position);
        items.add(insert);
        DeleteInsertDialogFragment deleteDialog = DeleteInsertDialogFragment.newInstance(items);
        deleteDialog.show(fm, ARG_DELETE_INSERT);
        break;
    }

    return super.onContextItemSelected(item);
  }
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case R.id.menu_add_insert:
        InsertDialogFragment dialog = InsertDialogFragment.newInstance(null);
        dialog.show(getActivity().getSupportFragmentManager(), ARG_NEW_INSERT);
        dialog.setOnInsertCreateListener(
            new InsertDialogFragment.OnInsertCreateListener() {
              @Override
              public void onInsertCreated() {
                adapter.refreshAdapter();
              }
            });
        break;

      default:
        return super.onOptionsItemSelected(item);
    }
    return true;
  }