메뉴 건너뛰기

조회 수 7345 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

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

List of Articles
번호 제목 날짜 조회 수
257 화면 회전에 따른 애니메이션 효과 구현하기 2015.07.16 8055
256 화면 해상도에 관계없는 레이아웃(Layout) 만들기 file 2015.07.16 8641
255 화면 전환해도 데이터 유지 예제 2015.07.26 9204
254 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1025
253 하이브리드 앱에서의 세션관리(로그인 상태 유지) 2018.12.27 4998
252 푸시 서비스(GCM)에 대해 알아보자 file 2015.07.01 7000
251 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (3) file 2015.07.16 6267
250 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (2) file 2015.07.16 7292
249 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (1) file 2015.07.16 6726
248 폰갭(PhoneGap) 플러그인 사용하기 2015.06.29 7356
247 폰갭(PhoneGap) 플러그인 만들기 2015.06.29 8422
246 폰갭(PhoneGap) 에서 페이지들간의 이동 2015.06.29 8459
245 폰갭(PhoneGap) & jQuery Mobile 로 안드로이드 어플 개발 file 2015.06.29 7839
244 폰갭 비콘 디텍팅 안될 때 (기본적인건 다 되있어야됨) 2015.07.26 6529
243 패키지명을 한꺼번에 변경하기 (Refactor) file 2020.12.14 295
242 특정 폴더에서 오래된 파일 삭제하기 2015.07.16 6767
241 트리뷰(TreeView) 컨트롤 file 2014.10.16 6722
240 탭 뷰에 탭 추가하기, 아이콘 넣기 file 2015.07.16 9360
239 클래스나눠서 xml 파싱과 FTP를이용하여 안드로이드에서 활용하기 2014.08.28 6180
238 카카오톡 분석하기 (2) - 카카오톡 암호화 함수 찾기 file 2016.05.26 9599
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved