Como posso fazer com que um ListView sensível ao toque em toda a sua largura para clicar em um item?
-
25-09-2019 - |
Pergunta
Eu tenho uma ListView em uma listatividade preenchida com strings. No entanto, apenas a parte de texto de um item de lista é clicável e, quando é clicada, apenas a parte de texto é destacada (laranja no fundo preto). Eu gostaria de tornar a linha completa clicável e, quando selecionada, a linha completa deve ser marcada como selecionada.
Como eu posso fazer isso? Este é o meu layout xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/TextViewLocationMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-" >
</TextView>
<TextView
android:id="@+id/TextViewStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Statustekst" >
</TextView>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:clickable="true"
android:fadeScrollbars="true"
android:isScrollContainer="true"
android:longClickable="true" >
</ListView>
</LinearLayout>
Solução
Esse é o comportamento padrão - tem certeza de que o ListView e os layouts de linha personalizados, se você estiver usando alguns, está definido como width = "Fill_parent"? Se eles já estiverem em largura = "FILL_PARENT", poste seu XML e/ou código para que possamos ver o que está errado.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow