2013-10-02 2 views
0

ListView를 보여주는 활동 화면이 있습니다. 이 ListView를 통해 사용자는 마음 속의 콘텐츠로 항목을 선택할 수 있습니다. 나는 그것에 문제가 없다.탐색 창에서 ListView 시각적으로 선택 영역을 표시 할 수 없습니다.

그러나 화면에는 탐색 용 서랍도 있습니다. 그 또 다른 ListView입니다. 아이템 중 하나를 수동으로 선택/선택했습니다. 그러나 탐색 창을 열면 해당 ListView에서 시각적으로 아무 것도 발생하지 않습니다. 프로그래밍 방식으로 쿼리하는 경우 한 항목이 선택되어 있고 그 위치가 예상대로라고 들었습니다.

내가 잘못 했나요? 화면에 대한

내 XML은 다음과 같습니다

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/NavigationDrawerLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ListView 
     android:id="@+id/folderList" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:choiceMode="singleChoice" 
     android:listSelector="@android:color/darker_gray" /> 
    <LinearLayout 
     android:id="@+id/drawerView" 
     android:orientation="vertical" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start"> 
     <ListView 
      android:id="@+id/listNavFolders" 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent" 
      android:listSelector="@android:color/holo_red_light" 
      android:choiceMode="singleChoice" 
      android:divider="@android:color/transparent" 
      android:dividerHeight="0dp" 
      android:background="#111" /> 
    </LinearLayout> 
</android.support.v4.widget.DrawerLayout> 

는이 코드로 선택을 설정합니다. Xamarin을 사용하기 때문에 C#입니다.하지만 차이가 있다고 생각하지 않습니다.

this.drawerList.SetSelection(pos); 
this.drawerList.SetItemChecked(pos, true); 

CheckedItemCount 또는 CheckedItemPosition 모두를 호출하면 값이 설정되어 있음을 나타냅니다. 내가 합리적으로 ListView를 제대로 설정했는지, 아무 문제없이 작동하는 화면에 다른 ListView가 있기 때문에 확신합니다.

내가 누락 된 부분에 대해 제안 된 사람이 있습니까?

답변

0

drawerList의 항목에 SetItemChecked (pos, true)에 대한 ICheckable 인터페이스가 작동하지 않아서 작동하지 않습니다.

Xamarin + MvvmCross를 사용하는 경우 this aproach을 사용하는 것이 좋습니다.

안드로이드 스타일의 DrawerLayout 작업에는 단지 csharp에 대해 this answer을 적용하십시오.

관련 문제