Solusi onCreateOptionsMenu Depreciated di Fragment

By | 18 November 2023

Hari ini saya akan coba bagikan cara bagaimana cara mengatasi onCreateOptionsMenu atau setHasOptionsMenu(Boolean) depreciated.

Buatlah fungsi untuk membuat option menu misal setupOptionMenu().

private void setupOptionMenu() {
        requireActivity().addMenuProvider(new MenuProvider() {
            @Override
            public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
              //Jalankan pembuatan menu disini
              getMenuInflater().inflate(R.menu.option_menu, menu);
            }

            @Override
            public boolean onMenuItemSelected(@NonNull MenuItem item) {
                if (item.getItemId() == R.id.menu_item_option) {
                 //isi berdasarkan pilihan menu dan aksinya
                }
                return false;
            }
        },this);
    }

Selanjutnya pada fungsi oncreateView pada fragment bisa dipanggil fungsi tsb.

  @Override
    public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
        View inflate = layoutInflater.inflate(R.layout.fragment_with_option_menu, viewGroup, false);
        setupOptionMenu();
        
        return inflate;
        
        }

Sekian infonya semoga bermanfaat!