2011-05-10 9 views
3

android app에서 어댑터가 만든 TextView를 보유한 GridView가 있습니다. 그 TextView에서 나는 세 가지 상태 (누르기, 선택 및 기본값)가있는 아이콘을 추가합니다. android:listSelector="#00000000"으로 GridView의 기본 선택기를 제거 했으므로 대신 아이콘의 선택된 상태를 표시하고 싶습니다. 그러나 눌려진 상태가 작동하더라도 (예 : TextView를 누르면 눌려진 아이콘이 표시됨) 선택되지 않습니다.GridView 하위에 포커스가 표시되지 않습니다.

나는 (웹에 다른 장소에서 발견) 그 트릭을 시도했지만 그것은 작동 중 하나를하지 않았다 :

  • android:descendantFocusability="afterDescendants" 
    
  • 또는

    android:drawSelectorOnTop="true" 
    
  • 설정
  • 또는 (텍스트 뷰에서)

    android:duplicateParentState="true" /> 
    

내가 포커스가되도록 텍스트 뷰를 설정하면, 그것은의 GridView 독립적으로 포커스를 취득 (즉, 그것을 클릭하면의 GridView 온 클릭 메소드를 호출하지 않습니다 ...)

이 아이콘은

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" 
    android:state_pressed="true" 
    android:drawable="@drawable/ic_flag_bg_pressed"/> 
    <item android:state_focused="false" 
    android:state_pressed="true" 
    android:drawable="@drawable/ic_flag_bg_pressed"/> 
    <item android:state_focused="true" 
    android:drawable="@drawable/ic_flag_bg_selected"/> 
    <item android:state_focused="false" 
    android:state_pressed="false" 
    android:drawable="@drawable/ic_flag_bg_default"/> 
</selector> 

자식에 초점을 맞춘 상태를 전달하는의 GridView를 알 수있는 방법이 있나요 :이 같은 XML 파일에 정의?

답변

0

이것에도 붙어 있습니다. 보일 수있는 또 다른 접근법은 테두리 스타일 선택기를 사용하여 위에 그립니다.

관련 문제