[안드로이드] 콘텍스트 메뉴 사용예제

by 김지홍 posted Sep 03, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

안드로이드/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);
    }
     
}




파일첨부 : 

 TestContextMenu.zip



스크린샷 : 

1831FE3C50F6CDA013EBD524236A3C50F6CDA027ADA8

1940C83C50F6CDA001203E1925DD3C50F6CDA023E987




감사합니다.


출저 : http://arabiannight.tistory.com/entry/313

Articles

1 2 3 4 5 6 7 8 9 10