안드로이드 개발 질문/답변
(글 수 45,052)
메뉴버튼을 누르면 메뉴가 나오고 백키를 누르면 alert창을 띄우고 종료를 하고 싶습니다.
하지만 이렇게 같이 코드를 작성하면 메뉴키를 눌러도 메뉴가 나오지 않는데
else if(keyCode == KeyEvent.KEYCODE_Menu){
이곳에 메뉴메소드를 넣으면 될거같은데 어찌해야될지 모르겠습니다.
}
public class Ex1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu){
boolean result = super.onCreateOptionsMenu(menu);
menu.add(Menu.NONE, 1, 0, "Red").setIcon(R.drawable.icon);
menu.add(Menu.NONE, 2, 1, "Blue");
menu.add(Menu.NONE, 3, 2, "Yello");
menu.add(Menu.NONE, 4, 3, "Green");
return result;
}
public boolean onKeyDown(int keyCode, KeyEvent event){
super.onKeyDown(keyCode, event);
if(event.getAction() == KeyEvent.ACTION_DOWN){
if(keyCode == KeyEvent.KEYCODE_BACK){
AlertDialog.Builder dialog = new AlertDialog.Builder(Ex1.this);
dialog.setTitle("종료하겠습니다.").setPositiveButton("닫기", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
finish();
}
}).show();
}
}
return true;
}
}
하지만 이렇게 같이 코드를 작성하면 메뉴키를 눌러도 메뉴가 나오지 않는데
else if(keyCode == KeyEvent.KEYCODE_Menu){
이곳에 메뉴메소드를 넣으면 될거같은데 어찌해야될지 모르겠습니다.
}
public class Ex1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu){
boolean result = super.onCreateOptionsMenu(menu);
menu.add(Menu.NONE, 1, 0, "Red").setIcon(R.drawable.icon);
menu.add(Menu.NONE, 2, 1, "Blue");
menu.add(Menu.NONE, 3, 2, "Yello");
menu.add(Menu.NONE, 4, 3, "Green");
return result;
}
public boolean onKeyDown(int keyCode, KeyEvent event){
super.onKeyDown(keyCode, event);
if(event.getAction() == KeyEvent.ACTION_DOWN){
if(keyCode == KeyEvent.KEYCODE_BACK){
AlertDialog.Builder dialog = new AlertDialog.Builder(Ex1.this);
dialog.setTitle("종료하겠습니다.").setPositiveButton("닫기", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
finish();
}
}).show();
}
}
return true;
}
}
메뉴 아이템 선택하는건 요기서 처리합니다.
@override
public boolean onOptionsItemSelecete(Menu item){
...
}