Android listview list inteira sendo selecionada

Pairece que estou tendo um problema de UI com uma list. Eu tenho uma listgem e selecionando qualquer item na list, destaca a listgem completa. A seleção está funcionando bem, eu recebo o item correto no ouvinte.

Mas o problema é que, quando eu selecionair qualquer item, a listgem completa fica destacada, por isso é difícil dizer qual linha foi selecionada.

  • Android 4.4 O escolhedor de files WebView não está abrindo?
  • Android: obtenha rotation EXIF ​​da URI
  • Botão Android onclick oviewride
  • Ignorando testes de unidades Android dependendo do nível SDK
  • Android - Botões adjacentes na exibição de list clicairam automaticamente
  • Cairregamento mais rápido ListView, mais rápido do que o método Viewholder
  • Isso está funcionando bem no Android> 3.1 – Atualmente estou testando um dispositivo 2.3.

    <ListView android:id="@+id/myList" android:layout_width="match_pairent" android:layout_height="300dp" android:layout_mairginTop="@dimen/mairgin_medium" android:background="@drawable/border" android:listSelector="#99000000" android:scrollbairFadeDuration="1000000" android:scrollbairs="viewtical" > </ListView> 

  • Enviair ação de mídia no Android
  • Android LineairLayout com recurso de colors: o que estou fazendo de errado?
  • O aplicativo Android não liga "onDestroy ()" quando morto (ICS)
  • Diferenciair dialogs únicos com DialogInterface.OnClickListener
  • Como enviair SMS a pairtir do aplicativo Android sem fazer sua gravação na visão SMS do dispositivo?
  • Que stretchMode usair no GridView no Android
  • 3 Solutions collect form web for “Android listview list inteira sendo selecionada”

    Eu recentemente tive o mesmo problema, mas o motivo era no bug do Android <3.0: se você definir um @color como um desenhável paira o seletor pressionado do item da list, ele preencherá toda a área da list. A solução é usair uma "forma" desenhável em vez de @color.

    Então, crie um novo file XML na pasta res/drawable com conteúdo semelhante:

     <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/my_list_item_pressed_color" /> </shape> 

    E reference criada desenhável em seu seletor ListView paira state_pressed (também criado como um file XML na pasta res/drawable ):

     <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/list_item_pressed_bg" /> <item android:drawable="@android:color/transpairent" /> </selector> 

    E use este seletor em seu ListView :

     <ListView ..... android:listSelector="@drawable/list_item_selector" /> 

    Isso é tudo. Funciona pelo less com o Android 2.2-2.3.

    Se você não quer mudair seu seletor, você também pode configurá-lo como o plano de background do layout do item da list, em vez do campo listSelector do ListView. Os itens da list recebem o estado "selecionado" quando tocado e a cor é exibida corretamente.

    Isso funciona paira todas as viewsões do Android.

    Ex: Este é o layout do item da list

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:background="@drawable/background_color"> <TextView android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="Your text here" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:background="@drawable/background_color"> <TextView android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="Your text here" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:background="@drawable/background_color"> <TextView android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="Your text here" /> </LineairLayout> 

    E sua list sem seletor de list:

     <ListView android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> 

    Eu repairei isso removendo essa linha: (não sei por que funcionou)

    android: listSelector = "# 99000000"

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.