나는 listview에서 선택한 항목을 삭제하고 선택한 항목을 편집하기 위해 하나의 버튼을 삭제하는 사용자 정의 문맥 액션 바를 구현했습니다. 내가하려고하는 것은 두 개 이상의 항목이 선택되었을 때 editButton을 보이지 않게 만드는 것입니다. 나는 이런 식으로 일을 시도했지만 아무 반응이 없습니다 :버튼을 보이지 않게 설정하는 문맥 액션 바
public void OnItemCheckedStateChanged (ActionMode mode, int position, long id, bool check)
{
SetSubtitle (mode);
if (listview.CheckedItemCount > 1) {
disableButtonFlag = true;
} else
disableButtonFlag = false;
self.InvalidateOptionsMenu();
}
public bool OnCreateActionMode (ActionMode mode, IMenu menu)
{
self.MenuInflater.Inflate (Resource.Menu.CAB_menu, menu);
if (disableButtonFlag) {
menu.FindItem(Resource.Id.action_edit).SetVisible(false);
} else {
menu.FindItem(Resource.Id.action_edit).SetVisible(true);
}
mode.Title = "Select Items";
SetSubtitle (mode);
return true;
}
"SetVisible (..)"행이 실행되고 있는지 확인하기 위해 코드를 한 단계 밟았습니까? – C4u
OnCreationActionMode()가 전혀 호출되지 않는다고 생각합니다 .. –
추측을 중지하고 그것을 증명하십시오. 그것을 확인하는 데 약 1-2 분이 걸릴 것입니다. OnItemCheckedStateChanged()의 첫 번째 줄에 중단 점을 설정하고 코드를 디버깅합니다. 그것을 통해 단일 단계 및 그것을 통해 실행되는 방법을 확인하십시오. 어디 OnCreateActionMode() isnt 어디서나 나는 이벤트로 행동해야한다고 생각합니다. 이 이벤트 핸들러가 설정 되었습니까? – C4u