package net.npaka.optionmenuex;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.LinearLayout;
public class OptionMenuEx extends Activity {
//메뉴 항목 ID
private static final int
MENU_ITEM0=0,
MENU_ITEM1=1,
MENU_ITEM2=2;
//어플리케이션 초기화
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//레이아웃 생성
LinearLayout layout=new LinearLayout(this);
layout.setBackgroundColor(Color.rgb(255,255,255));
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
}
//옵션 메뉴 생성
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//메뉴항목 0추가
MenuItem item0=menu.add(0,MENU_ITEM0, 0, R.string.menu_item0);
item0.setIcon(android.R.drawable.ic_menu_add);
//메뉴항목 1추가
MenuItem item1=menu.add(0,MENU_ITEM1, 0, R.string.menu_item1);
item1.setIcon(android.R.drawable.ic_menu_call);
//메뉴항목 2추가
MenuItem item2=menu.add(0,MENU_ITEM2, 0, R.string.menu_item2);
item2.setIcon(android.R.drawable.ic_menu_save);
return true;
}
//메뉴 항목 선택 이벤트 처리
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_ITEM0:
showDialog(this,"","항목 0 눌름");
return true;
case MENU_ITEM1:
showDialog(this,"","항목 1 눌름");
return true;
case MENU_ITEM2:
showDialog(this,"","항목 2 눌름");
return true;
}
return true;
}
//대화상자 표시
private static void showDialog(final Activity activity,String title,String text) {
AlertDialog.Builder ad=new AlertDialog.Builder(activity);
ad.setTitle(title);
ad.setMessage(text);
ad.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
activity.setResult(Activity.RESULT_OK);
}
});
ad.create();
ad.show();
}
}
저기위에 빨간색에서 오류가 납니다 ㅠ
몰르고 problems를 삭제해버렷지만 제기억상 오류의이름은 cannot be resolved is not a filed 이런 오류인거 같앗는데
프로그래밍책 그대로 따라하는데도 오류가뜨는데 이유가 뭘까요ㅠ
혹시 리소스에 values 폴더밑에 strings.xml 에 menu_item0 라는 이름의 값이 있나요?
설마 실수 하셨을 리는 없으시겠지만 거기부터 확인해보시는게 맞을것 같습니다.