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

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

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.