Saya telah menempatkan setHasOptionsMenu(true)
di dalam onCreateView
, tetapi saya masih tidak bisa memanggil onCreateOptionsMenu
bagian dalam.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
return inflater.inflate(R.layout.facesheet, container, false);
}
Di bawah ini adalah onCreateOptionsMenu
kode saya .
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
getSupportMenuInflater().inflate(R.menu.layout, menu);
return (super.onCreateOptionsMenu(menu));
}
Pesan kesalahan yang saya dapatkan:
Metode
onCreateOptionsMenu(Menu)
tipe Fragmen harus menggantikan atau menerapkan metode supertipe.
Jawaban:
coba ini,
Dan di
onCreate
tambahkan baris ini untuk membuat opsi muncul di AndaToolbar
sumber
setHasOptionsMenu(true);
setHasOptionsMenu(true);
harus dipanggilonCreate()
untuk lengkap.Anda sudah memiliki res / menu / menu.xml file res autogenerated yang mendefinisikan action_settings .
Di MainActivity.java Anda memiliki metode berikut:
Dalam
onCreateView()
metode panggilan Fragmen Anda:dan juga menambahkan 2 metode ini:
Terakhir, tambahkan file res / menu / fragment_menu.xml baru yang mendefinisikan action_1 dan action_2 .
Dengan cara ini ketika aplikasi Anda menampilkan Fragmen, menunya akan berisi 3 entri:
sumber
Saya mencoba jawaban @Alexander Farber dan @Sino Raj. Kedua jawaban itu bagus, tetapi saya tidak bisa menggunakan onCreateOptionsMenu di dalam fragmen saya, sampai saya menemukan apa yang hilang:
Tambahkan setSupportActionBar (bilah alat) di Aktivitas saya, seperti ini:
Saya harap jawaban ini dapat membantu seseorang dengan masalah yang sama.
sumber
Panggilan
dalam
dari Fragmen
sumber
sumber