2012-07-19 1 views
2

내 listSelection에 사용자 정의 드로어 블이 있습니다. 하나의 항목을 선택하면 선택됩니다. 그러나 내가 선택한 다른 항목 (위/아래로 스크롤)을 통해 스크롤 backgroung 깜박이며 때로는 사라지고있다.ListView item ListSelector drawable가 깜박임

의 ListView :

<ListView 
      android:id="@id/listView" 
      android:layout_width="100dp" 
      android:layout_height="fill_parent" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:listSelector="@drawable/list_selector" 
      android:clickable="true" 
      android:divider="@drawable/separetor_drawable" 
      android:fastScrollEnabled="true" 
      android:paddingLeft="15dp" 
      android:paddingRight="15dp" 
      android:scrollbars="none" > 
     </ListView> 

당김 레이아웃 : 나는 심지어 내가 모양을 지정 또한

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <corners android:radius="6dp" /> 

    <solid android:color="@color/grey" /> 

    <size android:width="50dp" /> 

</shape> 

list_selector.xml이 모양 자동으로 fill_parent 그 폭 내 XML 레이아웃을 포함하고

뿐만 아니라 높이갑니다.

제안 사항?

답변

1

// 자바 코드에

android:cacheColorHint = "#00000000" 

또는

android:cacheColorHint="@android:color/transparent" 

로 목록보기 속성에하려고하면

listView.setCacheColorHint(Color.TRANSPARENT); 
+0

확인해 보겠습니다 ... – Debopam

+0

아니요. @ 파드마 쿠마르. 작동하지 않습니다. – Debopam

+0

@Debopam 이것을 확인하십시오 http://stackoverflow.com/q/2833057/1012284 –

0

귀하의 목록보기에이 시도 사용해야합니다

android:listSelector="@android:color/transparent" 
android:cacheColorHint="#00000000" 
android:focusable="false" 
android:focusableInTouchMode="false" 
+0

내 ListView에 listSelector Drawable이 있어야합니다 ... – Debopam

0

답을 얻었는지 모르겠지만 비슷한 문제가있었습니다. 우리는 우리의 listitem의 레이아웃 파일에서 외부 요소에 배경을 설정하여 고정 :

listitem.xml 다음

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="@drawable/listselector" 
...> 
.... 
</RelativeLayout> 

및 드로어 블 ..

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:drawable="@color/blue" /> 
<item android:state_selected="true" android:state_pressed="false" android:drawable="@color/yellow" /> 
<item android:state_selected="false" android:state_pressed="false" android:drawable="@color/black" /> 
</selector> 

배경의 XML listselector.xml 파일은 눌려진 상태, 선택된 상태 및 정상 상태에 대한 값을 설정하며 원하는 경우 색을 다른 드로어 블 상태로 변경할 수 있습니다. 우리가 가지고 있었던 기묘한 배경 깜박임 문제를 해결하는 것 같았습니다.