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!
Programmer dan penggemar teknologi.