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

조회수 4633회

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가 실행되지 않는 이유가 있을까요?

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()를 호출해주셔야됩니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)