안드로이드/Android 컨텍스트메뉴(ContextMenu) 사용 예제 ~!
안드로이드 컨텍스트메뉴(ContextMenu) 사용법 입니다. 기본 메서드의 흐름은 안드로이드 옵션메뉴(OptionMenu)와 비슷한 구조를 가지고 있습니다. 사용법은 특정한 View에 컨텍스트메뉴를 등록해 준 후, View를 일정시간 롱클릭 하면 작동 하게 됩니다.
자세한 컨텍스트메뉴의 메서드 설명은 조만간 다시 포스팅 하도록 하겠습니다.
자 그럼 사용법에 대해 알아보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | package arabiannight.tistory.com.contextmenu;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.view.View;import android.widget.Button;public class MainActivity extends Activity { final int ONE = 0; final int TWO = 1; final int THREE = 2; final int FOUR = 3; final int FIVE = 4; final int SIX = 5; final int SEVEN = 6; final int EIGHT = 7; final int NINE = 8; final int TEN = 9; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.btn_click); Button btn2 = (Button) findViewById(R.id.btn_click2); registerForContextMenu(btn); registerForContextMenu(btn2); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if(v.getId() == R.id.btn_click) { getMenuInflater().inflate(R.menu.activity_main, menu); } else { menu.setHeaderIcon(android.R.drawable.btn_star); menu.setHeaderTitle("공지사항"); menu.add(Menu.NONE, ONE, Menu.NONE, "사과"); menu.add(Menu.NONE, TWO, Menu.NONE, "배"); menu.add(Menu.NONE, THREE, Menu.NONE, "감"); menu.add(Menu.NONE, FOUR, Menu.NONE, "바나나"); menu.add(Menu.NONE, FIVE, Menu.NONE, "키위"); menu.add(Menu.NONE, SIX, Menu.NONE, "귤"); menu.add(Menu.NONE, SEVEN, Menu.NONE, "오렌지"); // Menu에 SubMenu 추가 SubMenu subMenu = menu.addSubMenu("하우스과일"); subMenu.add(1, SIX, Menu.NONE, "방울토마토"); subMenu.add(1, SEVEN, Menu.NONE, "하우스딸기"); subMenu.add(1, EIGHT, Menu.NONE, "애호박"); } super.onCreateContextMenu(menu, v, menuInfo); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case ONE: break; default: break; } return super.onContextItemSelected(item); } } |
파일첨부 :
스크린샷 :
![]() | ![]() |
![]() | ![]() |
감사합니다.
출저 : http://arabiannight.tistory.com/entry/313
TestContextMenu.zip


