안녕하세요 안드로이드 앱 개발 공부를 이제 막 시작한 개발자입니다.
지금 현재 몇명이서 스터디를 하고 있는데
제가 UI부분을 맡아서 자료 작성중인데 예제코드를 다 만들어서 일일이 확인하고 있습니다.
하지만 menu가 화면에 안나옵니다..
Hello World, HelloOptionMenuActivity! 라는 TextView만 화면에 덩그러니..
타겟 버전도 낮춰보았고 어플 버전도 낮춰보았는데 현상이 같습니다.
또한 Linux환경이라 윈도우 환경에서도 돌려봤는데도 현상이 같네요..
고로 코드에 문제가 있다는
 결론을 내렸습니다...

어디가 잘못되었는지 고수님들 부디 알려주세요 ㅠㅠ
 
SDK버전 :  Google APIs Level 7
운영체제 : Ubuntu 9.10
Eclipse SDK ver3.5.1

소스코드는 다음과 같습니다.




 

package ymin.hellooptionmenu;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class HelloOptionMenuActivity extends Activity {
    //메뉴 아이템을 식별하는 ID를 정의한다.
    //onCreateOptionsMenu와 onOptionsItemSelected에서 사용된다.
    private    static    final    int        MENU1_ID        =    Menu.FIRST;
    private    static    final    int        MENU2_ID        =    Menu.FIRST+1;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
            
    //최초 메뉴가 생설될 때에 한번만 호출된다.
    //상태에 따라 메뉴를 변환하려면 onPrepareOptionMenu를 사용한다.
    @Override
    public boolean onCreateOptionsMenu (    Menu    menu){
        boolean    result    =    super.onCreateOptionsMenu(menu);
        //메뉴 아이템을 추가한다.
        menu.add(0, MENU1_ID, Menu.NONE, "Menu1");
        menu.add(0, MENU2_ID, Menu.NONE, "Menu2");
        
        return result;
    }     
    
    //메뉴 아이템이 선택된 때의 처리
    @Override
    public boolean onOptionsItemSelected (MenuItem item){
        switch(item.getItemId()){
            case    MENU1_ID:
                //메뉴1이 눌렸을때의 처리를 기술 
                AlertDialogTest();
                return true;
            case    MENU2_ID:
                //메뉴2이 눌렸을때의 처리를 기술
                return true;
        }
        //이 클래스에서 정의하고 있지 않은 ID는 부모 클래스에게 처리를 맡긴다.
        return super.onOptionsItemSelected(item);
    }
    
    private void    AlertDialogTest(){
        //AlertDialog를 생성 
        AlertDialog.Builder    b     =    new    AlertDialog.Builder(this);
        b.setTitle("option menu test"    );
        b.setMessage( "How are you?");
        //아이콘의 설정
        b.setIcon(R.drawable.icon);
        //긍정 응답용의 버튼 등록
        b.setPositiveButton(
                "Ok", 
                new    DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            // 버튼이 눌러질 때에 다이얼로그 삭제
                            dialog.dismiss();                        
                    }
                });
    }
    
}