0

Eclipse (일식)의 마스터/세부 흐름 템플릿에서 앱을 작성했습니다. actionbarsherlock을 프로젝트에 성공적으로 추가했는데 API 번호가 mItem.id (목록 항목의 ID가 선택된 경우) 일 때마다 API 번호가 onCreateOptionsMenu()에서 API 16보다 작은 세부 정보 조각이 표시 될 때까지 앱이 API 10까지 실행됩니다 4.1) mItem.id이 null입니다. API 17 & 18 문제가 없으며 작업 표시 줄 앞에서 항목 ID를 선언하는 것처럼 보입니다.OnCreateOptionsMenu API 레벨 16 이하로 크래시가 발생했습니다.

조각 클래스

public class ModuleDetailFragment extends SherlockFragment implements OnClickListener { 
    //The fragment argument representing the item ID that this fragment represents. 
    public static final String ARG_ITEM_ID = "item_id"; 
    // The content this fragment is presenting. 
    public ModuleList.ModuleItem mItem; 

과의 onCreateOptionsMenu : 나는 문이 누른 버튼을 파악하고 올바른 액션 바 메뉴 항목을 표시하는 경우가 있습니다

@Override         
public void onCreateOptionsMenu(Menu menu, MenuInflater mi) { 
    Toast.makeText(getActivity(), "item id = "+mItem.id, Toast.LENGTH_SHORT).show(); 
} 

,하지만이 충돌을 일으킬 충분하다.

모든 포인터가 많이 감사하겠습니다, 구글은 지금까지 아주 조금 반환했습니다.

감사합니다,

+0

잠재적 인 답변자를 도울 수있는 다른 정보가 있습니까? 나는 명백한 것을 놓치고 있는가? – staticlife

답변

0

는 결국 그것을 알아 냈 빌드 버전을 조회하고 아마 getActivity().invalidateOptionsMenu();

하지 미리 젤리 빈의 API에서 변수를 선언 한 후 메뉴 표시 줄을 다시 초기화 할 수 있었다 가장 효율적인 솔루션이지만 나에게 도움이된다.