2013-10-29 5 views
-1

내가 XMLAndroid StateListDrawable 버그?

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_activated="false" android:drawable="@drawable/ic_checked_off" /> 
    <item android:state_activated="true" android:drawable="@drawable/ic_checked_on" /> 
    <item android:drawable="@drawable/ic_checked_on" android:state_pressed="true" /> 
    <item android:drawable="@drawable/ic_checked_off" /> 

</selector> 

StateListdrawable이 난 StateListDrawable을 가지고 GridView 이미지를 가지고 있고, programically 변화 상태를 선택

if(mSelected.contains(photo)){ 
     view.findViewById(R.id.selector).setActivated(true); 
    } 

이미지 당김 상태를 변경하려고하지만, 나는 그의 상태를하지 클릭하면 변화, 난 내 영어는 내가 그것을

를 설명하려고

악화, 내가 원하는 것을 설명 할 수 없다 미안 해요

mSelected.contains(photo) [state - active] -> [checked_on.jpg] 경우 때 클릭 -

private View getPhoto(int position, View convertView, ViewGroup parent){ 
     View view = convertView; 
     if(convertView == null){ 
      view = LayoutInflater.from(mContext).inflate(R.layout.gallery_photo_item, parent, false); 
     } 

     ImageView mPhoto = (ImageView)view.findViewById(R.id.photoview); 

     Photo photo = (Photo) getItem(position - COLUMNS_NUM); 

     if(mSelected.contains(photo)){ 
      view.findViewById(R.id.selector).setActivated(true); // here i change my drawable state because it's front of my imageView 
     } 

     mLoader.displayImage(MediaStore.Images.Media.EXTERNAL_CONTENT_URI + File.separator + photo.id, 
       mPhoto); 

     return view; 
    } 

답변

0

문제는 -> 상태 당김 내 programically 상태가

== 편집 ==

어댑터 항목을 변경 무시하고 처음부터 시작 국가의 순서. 그들은 위에서 아래로 체크하고 상황에 맞는 첫번째 것이 사용됩니다. 즉 처음 두 개가 항상 사용된다는 의미입니다. 내가 programically 활성으로 상태를 변경할 때

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@drawable/ic_checked_on" /> 
    <item android:state_activated="false" android:drawable="@drawable/ic_checked_off" /> 
    <item android:state_activated="true" android:drawable="@drawable/ic_checked_on" /> 
    <item android:drawable="@drawable/ic_checked_off" /> 
</selector> 
+0

가 아니,이, 도움이 아니에요, 다음의 GridView 내부의 항목처럼 어떻게 다시 활성이 자신의 상태 확인에 –

+0

을 클릭이 작동해야합니까? –