2010-12-03 5 views
6

J'ai ListView généré dynamiquement, qui consiste en boutons radio comme éléments de liste.Android. RadioButtons dans un ListView

Est-il possible d'utiliser la fonctionnalité de radiogramme dans cette vue de liste ou pour ces radiobuttons. Je veux dire, je voudrais dire que si l'utilisateur sélectionne un bouton radio, le bouton radio sélectionné précédemment sera désélectionné.

C'est ma solution pour le moment, que je n'aime pas beaucoup. Je viens d'enregistrer le bouton radio sélectionné et si un autre sera sélectionné, désélectionner le bouton enregistré.

Merci pour vos suggestions ou liens.

Voici ma mise en page:

<?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"/> 

Mais j'ai aussi essayé avec celui-ci:

<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

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

+0

decouvrez ItemRenderer .. set the item renderer dans une liste à n'importe quel objet que vous voulez afficher dans la liste ... rajan ... – Rajan

+0

est-ce que c'est chose Android ?! – Tima

Répondre

2

Je pense que vous voulez android:choiceMode="singleChoice". C'est un peu difficile à mettre en œuvre (je ne connais pas les détails exacts), mais c'est un point de départ.

+2

je vous remercie pour le point de départ, mais je n'ai aucune idée, par où commencer?! – Tima

+2

Habituellement, je [recherche Google code] (http://google.com/codesearch?q=android:choiceMode%3D%22singleChoice%22) pour d'autres projets qui utilisent une fonctionnalité spécifique et voir comment. Vas-y, clique dessus :) – Felix

+0

Ooo, merci pour le lien! – Tima