2010-01-17 5 views
4

광고 항목의 특정 부분을 터치 할 수있는 ListView 항목 레이아웃을 만들고 싶습니다. 이것은 2.0의 연락처 통화 로그의 동작과 유사합니다. 여기에서 녹색 전화 로고를 클릭하여 전화를 시작하거나 수신 전화 세부 정보를 클릭하여 연락처에 대한 추가 정보를 얻을 수 있습니다.안드로이드리스트 부분 가압 표시 영역

비헤이비어 전용 구현이 필요하지 않습니다. OnClickListeners를 언론을 캡처하려는 부분의 부분에 바인딩하는 것을 이미 알고 있습니다. 내 진짜 문제는 사용자가 화면의 특정 영역을 눌러 특정 상황에서 UI가 제대로 반응하지 않는다는 것입니다. IE : 녹색 전화 아이콘을 클릭하면 전화기 주위의 상자 만 눌러 진 것처럼 강조 표시됩니다. 누르면 이름이 해당 지역을 강조 표시합니다.

연락처 응용 프로그램의 소스 코드를 살펴 보았지만 매우 복잡하고 소스 코드가 Drawables 및 SDK 자체에 노출되지 않은 리소스를 참조하는 문제가 발생하여 다소 성공할 수있었습니다.

안드로이드의 내부 리소스에 의존하지 않는 합리적인 구현을 원합니다. 또는 올바른 방향으로 적어도 일부 포인터.

나는 5 방향 키패드뿐 아니라 누르기와 함께 작동하는 솔루션을 찾고 있습니다.

다음은 내가 말하는 것을 보여주는 그래픽입니다.

Android Call Log http://the-gadgeteer.com/wp-content/uploads/2009/05/and_cupcake_call-log1-200x300.png

답변

3

그것은 단지 그들이 녹색 call_icon에 대한 onClickListener을 설정 newView 방법에 when setting up each list row 것 같습니다. 보기를 바인딩하는 동안 전화 번호는 View.setTag() 방법을 통해 call_icon에 추가됩니다.

그러면 onClick handler에서 전화 번호가 가져오고 Intent 전화가 발사됩니다.

목록 행의 다른 모든 프레스는 일반적인 방법 인 으로 처리됩니다.

+1

나는 정상적으로 작동합니다. OnClickListeners를 올바르게 조작하고 바인딩하는 방법을 결정하기 위해 태그를 사용합니다. 문제는 모든 경우에 사용자가 위젯을 제대로 눌렀을 때 노란 오렌지색 배경을 표시 할 수 없다는 것입니다. 특히 5 키 방향 패드를 사용하면 텍스트가 예상대로 검정색이되지만 배경은 검정색으로 유지됩니다. –