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