onCreateView и onViewCreated фрагмента вызываются два раза

При открытии приложения фрагмент вызывается два раза, даже если во ViewPager количество фрагментов равно 1, из-за чего база данных заполняется дважды одними и теми же данными. Не могу понять, в чем ошибка. Вот код фрагмента

    public class ListVerbsFragment extends Fragment {

    public static final String args_name = "ARGS_INT";
    private RecyclerView recyclerView;
    private List<Verbs> arrayList = new ArrayList<>();
    private LiveData<List<Verbs>> verbsFromDataBase;
    private LiveData<List<FavouriteVerbs>> favouriteVerbsList;
    private MainViewModel mainViewModel;
    private View view;
    private int position;
    private VerbsAdapter verbsAdapter;
    private Toolbar toolbar;


    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        setHasOptionsMenu(true);
    }

    @Override
    public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {

        if (position == 1) {
            super.onCreateOptionsMenu(menu, inflater);
            menu.clear();
            inflater.inflate(R.menu.menu, menu);
            MenuItem searchItem = menu.findItem(R.id.app_bar_search);
            SearchView searchView = (SearchView) searchItem.getActionView();
            searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
                @Override
                public boolean onQueryTextSubmit(String query) {
                    return false;
                }

                @Override
                public boolean onQueryTextChange(String newText) {
                    verbsAdapter.getFilter().filter(newText);
                    return true;
                }
            });
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_list_verbs, container, false);
        verbsAdapter = new VerbsAdapter(arrayList);
        recyclerView = view.findViewById(R.id.recycleview);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
        recyclerView.setAdapter(verbsAdapter);
        return view;
    }


    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        position = 1;
        if (getArguments() != null) {
            position = getArguments().getInt(args_name);
        }
        mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class);

    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        if (position == 1) {
            verbsFromDataBase = mainViewModel.getVerbsList();

            verbsFromDataBase.observe(getViewLifecycleOwner(), new Observer<List<Verbs>>() {
                @Override
                public void onChanged(List<Verbs> verbs) {
                    if (verbs.size() > 0) {
                        Log.i("MyResult", Integer.toString(verbs.size()));
                        verbsAdapter.setVerbsArrayList(verbs);
                    } else {
                        Log.i("MyResult", "Getting");

                        arrayList = JSONUtil.getData(requireActivity(), getContext());
                        mainViewModel.insertVerbs(arrayList);
                    }
                }
            });

        } else if (position == 2) {
            Log.i("MyResult", "2");
            favouriteVerbsList = mainViewModel.getFavouriteVerbs();
            favouriteVerbsList.observe(getViewLifecycleOwner(), new Observer<List<FavouriteVerbs>>() {
                @Override
                public void onChanged(List<FavouriteVerbs> verbs) {
                    if (verbs != null) {
                        List<Verbs> verbsList = new ArrayList<>();
                        verbsList.addAll(verbs);
                        verbsAdapter.setVerbsArrayList(verbsList);
                        Log.i("MyResult", "Done");
                    }
                }
            });
        }
    }

    public static ListVerbsFragment newInstance(int position) {
        Bundle args = new Bundle();
        args.putInt(args_name, position);
        ListVerbsFragment fragment = new ListVerbsFragment();
        fragment.setArguments(args);
        return fragment;
    }

}

Код MainActivity

public class MainActivity extends AppCompatActivity{

    private RecyclerView recyclerView;
    private ViewPager viewPager;
    private Toolbar toolbar;
    private TabLayout tabLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar = findViewById(R.id.toolbar);
        tabLayout = findViewById(R.id.tab);
        viewPager = findViewById(R.id.viewpager);
        if (savedInstanceState == null){
            ViewPagerVerbsAdapter adapter = new ViewPagerVerbsAdapter(getSupportFragmentManager());
            viewPager.setAdapter(adapter);
            tabLayout.setupWithViewPager(viewPager);

        }
        toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


    }

}

Код ViewPager

public class ViewPagerVerbsAdapter extends FragmentPagerAdapter {

    private final int number_of_fragments = 3;

    public ViewPagerVerbsAdapter(@NonNull FragmentManager fm) {
        super(fm);
    }


    @NonNull
    @Override
    public Fragment getItem(int position) {

        Log.i("Result", Integer.toString(position));
        return ListVerbsFragment.newInstance(position + 1);

    }

    @Override
    public int getCount() {
        return 1;
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        if (position == 1) {
            return "favourites";
        }
        return "verbs";
    }
}

Вот что я вижу в логах

2020-06-21 18:37:54.881 23608-23608/com.example.verbs I/MyResult: 278
2020-06-21 18:37:54.882 23608-23608/com.example.verbs I/MyResult: 278

Ответы (0 шт):