android - ActionMode OnCreateActionMode not called -


i working on android app contextual action bar oncreateactionmode not being called, nor listview item being set selected, nor itemcheckstatechanged listener working.

below how creating action mode:

adapterview.onitemlongclicklistener monitemlongclicklistener = new adapterview.onitemlongclicklistener()     {         @override         public boolean onitemlongclick(adapterview<?> parent, view view, int position, long id)         {              if (mactionmode != null)             {                 return false;             }             toast.maketext(getactivity(), "long click", toast.length_long).show();             lstrooms.setonitemclicklistener(null);             mactionmode = getactivity().startactionmode(mactionmodecallback);             view.setselected(true);              return true;         }     }; 

below how set onlongitemclicklistener

lstrooms.setonitemlongclicklistener(monitemlongclicklistener); 

below actionmode callback.

private actionmode.callback mactionmodecallback = new actionmode.callback()     {         @override         public boolean oncreateactionmode(actionmode mode, menu menu)         {             lstrooms.setchoicemode(listview.choice_mode_multiple_modal);             lstrooms.setmultichoicemodelistener(new abslistview.multichoicemodelistener()             {                 @override                 public void onitemcheckedstatechanged(actionmode mode, int position, long id, boolean checked)                 {                     toast.maketext(getactivity(), "clicked", toast.length_long).show();                 }                  @override                 public boolean oncreateactionmode(actionmode mode, menu menu)                 {                     menuinflater inflater = mode.getmenuinflater();                     inflater.inflate(r.menu.room_context_menu, menu);                     mode.settitle("hello world");                     return true;                 }                  @override                 public boolean onprepareactionmode(actionmode mode, menu menu)                 {                     return false;                 }                  @override                 public boolean onactionitemclicked(actionmode mode, menuitem item)                 {                     return false;                 }                  @override                 public void ondestroyactionmode(actionmode mode)                 {                  }             });             return true;         }          @override         public boolean onprepareactionmode(actionmode mode, menu menu)         {             return false;         }          @override         public boolean onactionitemclicked(actionmode mode, menuitem item)         {             return false;         }          @override         public void ondestroyactionmode(actionmode mode)         {             mactionmodecallback = null;         }       }; 

none of method such oncreateactionmode called title bar isn't set, although action bar turn black, reason, know the text should white if actionmode.settitle("hello") after create object works, call functions aren't working.

as mentioned other problem list view item doesn't show selected when view.setselected(true) i've tried lstroom.setitemchecked(position, true)

thanks can provide.

i've managed figured out problem was.

i had misunderstanding of how multi choice mode listener worked. doing register onitemlongclicklistener within listener, set multi choice, in there create actionmode.callback , create multichoice listener. didn't realise mulitichoicelistener can create actionmode.callback conflicting each other.

instead rid of of that, , create multichoicemodelistener creates contextual action bar itself.