메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
리스트뷰를 이용하여 구현하였고 리스트뷰의 한 항목을 눌렀을때 그 항목에만 해당되는 Context Menu를 넣을 수 있다.


1
2
3
4
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, view, menuInfo);
    new MenuInflater(this).inflate(R.menu.context_mylibrary, menu);
}
1
2
3
4
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, view, menuInfo);
    new MenuInflater(this).inflate(R.menu.context_mylibrary, menu);
}

어떤 도서관을 클릭해도 이와 같은 Context Menu가 나온다... 하지만 제대로 된 항목을 클릭한 것 일까?
아니면 실수나 오류로 인해서 위 또는 아래의 항목이 클릭된 것 일까?
이건 메뉴중 하나를 선택하지 않으면 정확히 알 수 없는 문제이다... 
이런 문제를 해결하기 위해서 Title을 넣어 보려고 한다.
1
2
3
4
5
6
7
8
9
10
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, view, menuInfo);
 
    AdapterContextMenuInfo info = (AdapterContextMenuInfo)menuInfo;
    ListView lv = (ListView) findViewById(R.id.LVLibrary);
    Library library = (Library) lv.getAdapter().getItem(info.position);
     
    new MenuInflater(this).inflate(R.menu.context_mylibrary, menu);
    menu.setHeaderTitle(library.getName());
}
info.position 을 통해 몇번째 항목인지 가져온다.
리스트뷰에서 Adapter를 얻어서 해당하는 항목의 객체를 얻어올 수 있다.
이제 타이틀로 넣을 값을 얻었으니 이제 설정만 해주면 끝이다.

표시될 메뉴 객체 menu의 setHeaderTitle 메소드를 호출하여 원하는 정보를 설정해 준다.


이게 결과를 실행한 화면이다.
타이틀이 나와서 그런지 어떤 항목을 선택했는지 확실히 알 수 있다.

List of Articles
번호 제목 날짜 조회 수
237 HTML5로 나만의 비디오 플레이어 스킨 만들기 -2- JavaScript file 2014.09.04 6312
236 HTML5로 나만의 비디오 플레이어 스킨 만들기 -3- JavaScript file 2014.09.04 6288
235 HTML5 드래그 앤 드롭 하기 Drag and Drop file 2014.09.04 7748
234 HTML5 Web Storage -01- file 2014.09.04 5587
233 HTML5 Form 공부하기 -1- file 2014.09.04 5841
232 HTML5 Form 공부하기 -2- file 2014.09.04 6329
231 HTML5로 게임 만들기 워밍업 file 2014.09.04 6063
230 HTML5 Better semantic tags file 2014.09.04 5952
229 HTML5 Geolocation (구글 지도에 현위치 표시하기) file 2014.09.04 6810
228 jQuery ajax post 요청 text 응답 2014.10.16 6702
227 JSON(JavaScript Object Notation) - jQuery Ajax - jQuery.getJSON() 메서드 (비동기적으로 JSON파일 로드) file 2014.10.16 6568
226 jQuery Ajax - jQuery.load() 메서드 (동적으로 원격 페이지 로드) file 2014.10.16 6409
225 트리뷰(TreeView) 컨트롤 file 2014.10.16 6720
224 Effects - Stop() 메서드 (애니메이션 효과 멈추기) file 2014.10.16 6225
223 Effects - Animate() 메서드 (여러가지 효과 동시 처리) file 2014.10.16 30621
222 Effects - SlideToggle() 메서드 (슬라이드 업/다운) file 2014.10.16 6758
221 Effects - SlideUp() 메서드 (슬라이드업) file 2014.10.16 5999
220 Effects - FadeIn() / FadeOut() 메서드 (서서히 보이기 및 숨기기) file 2014.10.16 6069
219 Effects - Show() / Hide() 메서드 (보이기 및 숨기기) file 2014.10.16 5957
218 Events - Unbind() 메서드 (이벤트 처리기 해제) file 2014.10.16 5749
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved