본문 바로가기
코딩일기/android studio

안드로이드 독학 14일차 : 메뉴 아이템 선택 이벤트(Menu item select event)

by 욱파이어니어 2021. 3. 29.
728x90
반응형

이번에 해볼 것은 메뉴에서 item 선택했을 때의 이벤트를 어떻게 처리할 것인지 볼 것이다.

이것도 선택했을 때의 이벤트를 처리하는 메소드가 따로 있다.

 

그 메소드는 바로 onOptionsItemSelected()이다. 

 

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()){
            case R.id.apple:
                Toast.makeText(getApplicationContext(),"사과",Toast.LENGTH_SHORT).show();
                break;
            case R.id.grape:
                Toast.makeText(getApplicationContext(),"포도",Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onOptionsItemSelected(item); //
    }

위 코드를 보면 return이 boolean 타입인걸 알 수가 있다.

true 면 해당 메뉴로 확장된 것이 있다면 true를 반환해야 하고 그게 아니라면 false를 반환해야 한다는 것이다.

그리고 지금은 super.onOptionsItemSelected(item); 로 되어 있는데 이건 그냥 부모의 해당 메소드를 한 번 더 호출하는 것이긴 한대 default로는 false를 반환한다고 하는 거 보면 false값이 아닐까 싶다..

 

무튼 이렇게 item.getItemId 해서 해당 item의 id값을 가져와서 처리를 하면 된다.

 

참조 사이트 : 

developer.android.com/guide/topics/ui/menus?hl=ko#java

 

메뉴  |  Android 개발자  |  Android Developers

메뉴는 수많은 유형의 애플리케이션에서 사용되는 보편적인 사용자 인터페이스 구성 요소입니다. 친숙하고 일관적인 사용자 경험을 제공하기 위해 Menu API를 사용하여 활동에서 사용자 작업과

developer.android.com

stackoverflow.com/questions/38887304/what-does-this-method-do-super-oncreateoptionmenu-and-super-onoptionsitemselec

 

반응형