'de iki kez çağrıldı Fragmanların başında değişen seçenekler menüsü ile basit bir uygulama var. Sorun şu ki, ilk onCreateOptionsMenu() dışında herhangi bir parçanın iki kere - onCreate() içinde ve onResume() öğesinden sonra çağrılmasıdır. OnCreate() 'da setHasOptionsMenu (true) ile manuel olarak adlandırıyorum ancak onResume()' den sonra bu olmamalı. Ayrıca, bu sadece ilk parça başladıktan sonra ortaya çıkar.onCreateOptionsMenu() Fragman
class BaseFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle clicks
return true;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Create a menu
super.onCreateOptionsMenu(menu, inflater);
}
}
Ve Aktivite değişen fragmanları kodu: Burada
baz fragmanları kodudur
public void startFragment(BaseFragment fragment) {
getSupportFragmentManager()
.beginTransaction()
.replace(android.R.id.content, fragment)
.commit();
}
örnek ActionBarSherlock, sadece SupportLibrary gibi herhangi bir dış kitaplık kullanmaz. Sanırım, ilk fragman başladığında sorun olduğu için sorun FragmentTransaction replace() yöntemindedir. Ama bilmiyorum, sorunu çözmeye nereden başlayalım. Görünümde tam olarak parça değiştirmeye ihtiyacım var.
kullandığınız telefon? Telefonda ayrık bir menü düğmesi varsa, onCreateOptionsMenu sadece kullanıcı tıkladığında çağrılır. Eklemek için setHasOptionsMenu'nun (true) onCreateOptionsMenu çağırması zorunlu değildir. Sadece menü doldururken parçanın katılmak istediği çerçeveyi bilgilendirir. – prijupaul
OP, aynı soruna sahip olduğumda soruyu eklememe/düzenlememe bile izin vermiyor. Menü ile ilgili temel şeyleri biliyorum, sorun OP'nin tarif ettiği gibi garip. DÜZENLEME: İç içe geçmiş parçayı – Zyoo
@ prijupaul kullanıyorum, aslında sadece Honeycomb öncesi versiyonları için. Honeycomb ve daha sonra onCreateOptionsMenu üzerinde setHasOptionsMenu() çağırdıktan hemen sonra çağrılır. – bvitaliyg