Fragment에서 안드로이드 옵션 메뉴를 넣고 싶은데 어떻게 하나요?


Fragment 그룹에 옵션메뉴를 넣고 싶은데요. 그래서 MenuFragment라는 클래스도 만들어서 메뉴를 포함하는 Fragment들은 이 클래스를 상속받게 했어요.

소스코드

public class MenuFragment extends Fragment {

    MenuItem fav;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
    }

    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        fav = menu.add("add");
        fav.setIcon(R.drawable.btn_star_big_off);
    }
}

이 코드에서 onCreateOptionsMenu가 실행되지 않는 이유가 있을까요?

  • 2016년 01월 27일에 작성됨

조회수 415


1 답변


좋아요
1
싫어요
채택취소하기

super 메소드를 호출하셨나요?

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // 메뉴에 들어갈 내용을 이부분에 넣어주세요. 
    super.onCreateOptionsMenu(menu, inflater);
}

이런식으로 onCreateOptionsMenu에 super.onCreateOptionsMenu()를 호출해주셔야됩니다.

  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close