인프런 커뮤니티 질문&답변

해골개미님의 프로필 이미지
해골개미

작성한 질문수

윤재성의 자바 기반 안드로이드 앱개발 Part 2 - 메뉴와 4대 구성요소

option menu 문의 건.

작성

·

125

0

옵션 메뉴 강의 내용대로 코딩을 했으나 캡쳐한 화면처럼 옵션메뉴가 화면이 보이질 않습니다. 컴파일은 에러없이 실행됐습니다. 빠른 답변 부탁합니다. xml 파일 메뉴 구성, 코드를 통한 메뉴 구성 두 가지 방법으로 코딩 실습해보았으나 화면처럼 옵션메뉴가 폰 화면이 보이질 않습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
해골개미님, 옵션 메뉴가 화면에 보이지 않는 문제는 여러 가지 원인으로 발생할 수 있습니다. 다음 사항을 확인해보시기 바랍니다.

  1. main_menu.xml 파일이 올바르게 작성되었는지 검토해 보세요. 메뉴 항목들이 정확하게 정의되어 있어야 합니다.
  2. onCreateOptionsMenu 메서드에서 메뉴 인플레이터를 사용하여 main_menu.xml을 옵션 메뉴로 로드했는지 확인하세요.
    예) getMenuInflater().inflate(R.menu.main_menu, menu);
  3. 액티비티에서 onOptionsItemSelected 메서드를 오버라이드하여 메뉴 항목 선택 이벤트를 처리했는지 점검하세요.
  4. 앱 테마 설정에 영향을 받을 수도 있습니다. 테마에 따라 액션바나 옵션 메뉴의 표시 여부가 달라질 수 있습니다.

이와 관련하여 강의 내용을 다시 한번 복습하시거나 강의 자료를 확인하고 싶으시다면, 강의 동영상을 클릭 후 상단 바 혹은 목차 내에 있는 구름 아이콘을 통해 강의자료를 확인하실 수 있습니다.
강의자료 확인하기

만약 이러한 해결책들로도 문제가 해결되지 않는다면, ‘문의하기’를 통해 좀 더 자세한 상황을 설명해주시면 강의 진행에 도움을 드릴 수 있겠습니다.
인프런 문의하기

또 다른 의문사항이나 추가적인 도움이 필요하시면 언제든 질문해 주세요.

해골개미님의 프로필 이미지
해골개미
질문자

package co.kr.optionmenu;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;

import co.kr.optionmenu.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

ActivityMainBinding activityMainBinding;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

activityMainBinding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(activityMainBinding.getRoot());
}

// option menu를 구성하는 메소드

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// xml 파일로 부터 메뉴를 생성하는 객체
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.main_menu,menu);

return true;
}
}

상기 내용과 같이 코딩을 하였으나, 폰 화면에 옵션메뉴가 생성이 되질 않습니다.

빠른 회신 부탁합니다.

해골개미님의 프로필 이미지
해골개미

작성한 질문수

질문하기