안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 안드로이드 앱 개발 공부를 이제 막 시작한 개발자입니다.
지금 현재 몇명이서 스터디를 하고 있는데
제가 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();
}
});
}
}



혹시..
메뉴버튼을 안누르신건 아니겠죠?
엑티비티가 실행되고 메뉴가 바로 뜨는게 아니고.
키페드에 있는 메뉴 버턴을 눌러줘야 화면에 메뉴가 나와요..