mercredi 28 janvier 2015

Conflict between fragment lifecycle flow in (4.0,4.1) and 4.2+ when oncreateoptionmenu used


Vote count:

0




On checking my code on different devices the log details were- below android 4.2 version devices Oncreateoptionmenu calling 2 times


and the flow to calling Override methods(Life cycle) in different manner.


issue


please check second log of (4.0.2, and 4.1)


Code



@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

Log.e("aaaaaaaaa", "....onCreate");


}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);

Log.e("aaaaaaaaa", "....onCreateView");

rootView = inflater.inflate(R.layout.fragment1, container,
false);

init();



return rootView;
}



@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu, inflater);

Log.e("aaaaaaaaa", "....onCreateOptionsMenu");
// menuIsInflated = false;

inflater.inflate(R.menu.menu_fragment_employeelist, menu);
SearchView sv = new SearchView(getActivity());
sv.setOnQueryTextListener(new searchfilter());
}


private class searchfilter implements OnQueryTextListener {

@Override
public boolean onQueryTextChange(String newtext) {


Log.i("", "onquery......text.....listner..");


return false;
}

@Override
public boolean onQueryTextSubmit(String query) {
// Log.e("search query...", query);
return false;
}

}

@Override
public void onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onPrepareOptionsMenu(menu);

Log.e("aaaaaaa", ".....onPrepareOptionsMenu");
}


output for Two different emulator


. .


(1)4.0.3 and 4.1


firsttime open fragment



01-28 15:30:15.090: E/aaaaaaaaa(21867): ....onCreate
01-28 15:30:15.090: E/aaaaaaaaa(21867): ....onCreateView
01-28 15:30:15.120: E/aaaaaaaaa(21867): ....onCreateOptionsMenu
01-28 15:30:15.170: E/aaaaaaa(21867): .....onPrepareOptionsMenu


second time open fragment



01-28 15:30:19.320: E/aaaaaaaaa(21867): ....onCreate
01-28 15:30:19.320: E/aaaaaaaaa(21867): ....onCreateOptionsMenu
01-28 15:30:19.350: I/(21867): onquery......text.....listner..
01-28 15:30:19.350: E/aaaaaaa(21867): .....onPrepareOptionsMenu
01-28 15:30:19.350: E/aaaaaaaaa(21867): ....onCreateView
01-28 15:30:19.370: E/aaaaaaaaa(21867): ....onCreateOptionsMenu
01-28 15:30:19.380: I/(21867): onquery......text.....listner..
01-28 15:30:19.390: E/aaaaaaa(21867): .....onPrepareOptionsMenu


(2) >4.2(4.2 or greter divices or emulator)


firsttime open fragment



01-28 16:23:46.208: E/aaaaaaaaa(11232): ....onCreate
01-28 16:23:46.208: E/aaaaaaaaa(11232): ....onCreateView
01-28 16:23:46.329: E/aaaaaaaaa(11232): ....onCreateOptionsMenu
01-28 16:23:46.395: E/aaaaaaa(11232): .....onPrepareOptionsMenu
01-28 16:23:46.397: E/aaaaaaa(11232): .....onPrepareOptionsMenu


secondtime open fragment



01-28 16:24:02.923: E/aaaaaaaaa(11232): ....onCreate
01-28 16:24:02.923: E/aaaaaaaaa(11232): ....onCreateView
01-28 16:24:02.943: E/aaaaaaaaa(11232): ....onCreateOptionsMenu
01-28 16:24:02.948: I/(11232): onquery......text.....listner..
01-28 16:24:02.948: E/aaaaaaa(11232): .....onPrepareOptionsMenu


asked 41 secs ago







Conflict between fragment lifecycle flow in (4.0,4.1) and 4.2+ when oncreateoptionmenu used

Aucun commentaire:

Enregistrer un commentaire