2010-12-03 28 views
6

He generado dinámicamente ListView, que consiste en botones de radio como elementos de lista.Android. RadioButtons en un ListView

Es posible utilizar la funcionalidad de grupos de radio en esa vista de lista o para estos botones de radio.

Quiero decir, me gustaría que, si el usuario selecciona un botón de opción, el botón de opción seleccionado anteriormente se deseleccionara.

Esa es mi solución en este momento, que no me gusta mucho. Solo guardo el botón de selección seleccionado y si se selecciona otro, deseleccione el que está guardado.

Gracias por sus sugerencias o enlaces.

Aquí es mi diseño:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:background="@drawable/bg_tile" 
android:padding="10dp"> 
<TextView 
    android:id="@+id/text_station_name" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:text="TEST" 
    android:textColor="@color/black" 
    android:background="@color/transparent_white"/> 
<ListView 
    android:id="@+id/list_lines" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/>  
</LinearLayout> 

item.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/rb_lineId"  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:textColor="@color/black" 
android:paddingLeft="50dp" 
android:background="@drawable/selector_custombutton"/> 

Pero también he intentado con éste:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:background="@drawable/bg_tile" 
android:padding="10dp"> 
<TextView 
    android:id="@+id/text_station_name" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:text="TEST" 
    android:textColor="@color/black" 
    android:background="@color/transparent_white"/> 
    <RadioGroup 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
    <ListView 
    android:id="@+id/list_lines" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 
</RadioGroup>  
</LinearLayout> 
+0

posible duplicado de http://stackoverflow.com/questions/4250599/android-listview-with-radiobutton-in-singlechoice-mode-and-a-custom-row-layout –

+0

echa un vistazo a ItemRenderer .. establecer el elemento renderizador en una lista para cualquier objeto que quieras mostrar en la lista ... rajan ... – Rajan

+0

¿es Android? – Tima

Respuesta

2

Creo que quieres android:choiceMode="singleChoice". Es un poco complicado de implementar (no conozco los detalles exactos), pero es un punto de partida.

+2

gracias por el punto de partida, pero no tengo idea, ¿por dónde empezar? – Tima

+2

Normalmente solo busco [buscar en el código de Google] (http://google.com/codesearch?q=android:choiceMode%3D%22singleChoice%22) para otros proyectos que usan una función específica y cómo. Continúa, haz clic en él :) – Felix

+0

¡Ooo, gracias por el enlace! – Tima