2012-09-14 3 views
1

ListView의 항목 아래에 ContextMenu을 열 수있는 방법을 찾고 있습니다. 이 구현의 예는 "reddit is fun"android app에서 찾을 수 있습니다. 참조 용 스크린 샷을 첨부했습니다. ListView의 항목 아래에 컨텍스트 메뉴 열기

screenshot

은 꽤 오랜 시간 동안이를 달성하기 위해 노력했지만 실패되었습니다. 이 기능을 어떻게 수행 할 수 있습니까?

컨텍스트 메뉴를 표시하는 아주 좋은 방법이라고 생각하며이 기술을 사용하고 싶습니다.

+3

행 레이아웃에 직접 추가 메뉴를 구현할 것입니다. – Luksprog

+0

@Luksprog 나는 오늘 밤 이것을 시험 할 것이다. 그러나 나는 'ListView'를 스크롤 할 때 다른 목록 항목에 대해이 메뉴를 다시 사용하고 이전 항목에 대해 '저장'대신 '저장 취소'라고 말하면 표시 할 메뉴를 수정 한 경우, 새 항목에 대해 "Unsave"가 잘못 표시 될 것입니다 (왜냐하면보기가'ListView'scrolling 중에 재사용되기 때문입니다) – zeiger

+0

각 행의 올바른 상태를 표시하는 데주의를 기울이면 그 일은 일어나지 않을 것입니다. 'ListView'를 사용할 때). 방금 "저장"하고 각 행의 올바른 상태를 기억해야합니다. 현재 행 데이터에 따라이 작업이 실제로 간단 할 수 있습니다. – Luksprog

답변

2

해당 메뉴는 행 레이아웃에서 직접 구현 될 수 있습니다. 현재 레이아웃에 추가 메뉴 레이아웃을 추가해야합니다 (처음에는 숨기기 만하면 사용자가 ListView으로 처음 작업 할 때 표시하지 않을 수 있습니다). 그런 다음 메뉴를 표시/숨기고 메뉴 자체 (사용자 정의 어댑터에서) 및 메뉴 항목 (메뉴가 열리거나 닫히는 것과 같은)을 계속 추적 할 논리를 추가하면됩니다. 그 안에있는 항목의 상태). 이 작업을 수행하는 방법에 대한 간단한 샘플은 https://gist.github.com/3722950에서 찾을 수 있습니다.

0

PopupWindow을 사용하여 컨텍스트 메뉴 항목을 유지하십시오. 팝업 창을 화면에 쉽게 배치 할 수 있습니다. PopupWindow에 대한 자세한 내용은 here 또는 해당 주제에 대한 자습서를 참조하십시오.

+0

ListView의 항목 바로 아래에'PopupWindow '가 어떻게 나타나는지 확실하지 않습니다. 현재 전경에있는 뷰 위에 떠 다니는 컨테이너가 나타나지 않기를 바랍니다. – zeiger

+0

픽셀을 정확하게 배치 할 수 있습니다. 따라서 필요한 것은 행 뷰의 화면 위치를 얻는 것입니다. http://stackoverflow.com/questions/2139700/how-to-get-location-on-screen-of-row-in-listview –

0

공유로 TabBars를 사용하여 UitabBarController를 사용할 수 있습니까? 숨기기를 저장하고 특정 목록보기가 표시 될 탭을 클릭 한 후 that.then과 같은 주석을 추가 할 수 있습니까?

+0

무슨 뜻인지 이해가 안됩니다. 'ListView'에서 항목을 클릭 할 때 이러한 작업을위한 작업 표시 줄 아이콘을 추가해야한다는 뜻입니까? 그것은 내가 성취하고자하는 것이 아닙니다. – zeiger

+0

목록보기의 각 항목 아래에 상황에 맞는 메뉴를 추가하겠습니까? – Vaddi

+0

예, 각 항목 아래에 상황에 맞는 메뉴를 추가해야합니다. – zeiger

관련 문제