2012-03-26 3 views
0

J'ai un ListView:Sélection du bouton radio.

<ListView 
     android:id="@+id/my_list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

La mise en page de chaque ligne de la ListView est:

<? Xml version="1.0"encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <ImageView 
      android:id="@+id/my_img" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_algnParentLeft="true" 
      android:layout_centerVertical="true"   
      /> 
    <TextView 
     android:id="@+id/my_value" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/my_img" 
     android:textColor="@drawable/black" /> 
    <RadioButton 
     android:id="@+id/my_radio" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/my_value" /> 

</ RelativeLayout> 

Comme vous le voyez ci-dessus, il y a une RadioButton sur chaque ligne de la liste, comment mettre en œuvre les deux caractéristiques suivantes de ce qui concerne la RadioButton:

1. Supposons qu'il y ait 3 éléments dans la liste, comment faire le bouton radio sur chaque ligne effectuer une sélection unique sur la liste? (Par défaut, je peux sélectionner tous les boutons radio)

2. Comment avoir chaque élément cliquable de la zone de ligne pour la radio bouton sélection au lieu de seulement cliquer sur le bouton radio pour la sélection?

+0

aider Peut-être http://stackoverflow.com/questions/7329856/how-to-use-radiogroup-in-listview-custom-adapter –

Répondre

0

obtenir une référence à votre listView, définissez sa propriété comme

lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

Retirez également le bouton radio de votre mise en page XML. La méthode ci-dessus mettra automatiquement un bouton radio dans chacune de vos lignes de vue liste. Utilisation:

<? Xml version = "1.0" encoding = "utf-8"?> 
<RelativeLayout 
    xmlns: android = "http://schemas.android.com/apk/res/android" 
    android: layout_width = "fill_parent" 
    android: layout_height = "fill_parent" 
    > 
    <ImageView 
      android: id = "@+id/my_img" 
      android: layout_width = "wrap_content" 
      android: layout_height = "wrap_content" 
      android:layout_algnParentLeft="true" 
      android: layout_centerVertical = "true"   
      /> 
    <TextView 
     android: id = "@+id/my_value" 
     android: layout_width = "wrap_content" 
     android: layout_height = "wrap_content" 
     android:layout_toRightOf="@id/my_img" 
     android: textColor = "@drawable/ black" /> 


</ RelativeLayout> 
+0

Je voudrais lorsque l'utilisation, cliquez sur la zone de ligne (peu importe qu'il s'agisse d'un bouton radio ou d'une icône d'image), le bouton radio est vérifié, comment faire? –

+0

Après avoir défini le mode de choix simple, sur un clic de ligne, le bouton radio correspondant à cette ligne sera coché et les autres non cochés. – Akhil

+0

J'ai supprimé de ma disposition de ligne, et ajouté le mode à choix unique à ma liste, mais il n'y a pas de bouton radio. Pouvez-vous être plus clair, où devrait être défini le bouton radio? –