Comment obtenir le texte du bouton radio dans un groupe de boutons radio lorsque le bouton radio coché état est changé
J'ai créé deux boutons radio dans un groupe de boutons radio de façon dynamique et l'un d'eux est cochée.
J'ai besoin quand je cheked un autre bouton, puis sa valeur doit être enregistrée dans la chaîne.
Mais j'ai mis en œuvre checkedchangelistener
pour cela.Mais sa ne fonctionne pas la première fois.
Voici mon code.
rg = ((RadioGroup)getActivity().findViewById(alist_id.get(i)));
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup rd, int checkedId) {
for(int i=0; i<rd.getChildCount(); i++) {
radio_button = (RadioButton) rd.getChildAt(i);
int id = radio_button.getId();
if(radio_button.getId() == checkedId) {
text = radio_button.getText().toString();
flag=true;
System.out.println("trueeeeeeeee"+text);
return;
}
}
}
});
if (flag==true) {
updated_list.add(text);
System.out.println("sssssssssssssssssss");
}else {
updated_list.add(data_from_list_view.get(i));
System.out.println("falseeeeeee");
}
OriginalL'auteur amita | 2013-11-22
Vous devez vous connecter pour publier un commentaire.
fichier xml
code java
Est-il peut être un problème en raison de radio sélectionnée bouton?
Pour répondre à cette question, vous devez avoir à la vérification des
RadioButton
Id en utilisant l'attributandroid:checkedButton="@+id/radioMale"
dansRadioGroup
. Si vous cliquez sur le bouton directement, alors il peut obtenir l'erreurNullPointerException
OriginalL'auteur Ravi Parsania
essayer de code suivant
final RadioButton[] rb = new RadioButton[list_of_radiobutton_data.size()]; rg = nouveau groupe de boutons(getActivity()); rg.setId(i); rg.setOrientation(groupe de boutons.VERTICALE); for (int i1 = 0; i1 < list_of_radiobutton_data.size(); i1++) { rb[i1] = new RadioButton(getActivity()); rb[i1].setText(list_of_radiobutton_data.get(i1)); rb[i1].setId(i1); rg.addView(rb[i1]); if (rb[i1].getText().equals(data_from_list_view.get(i))) { /*rb[i1].setChecked(true);*/ rg.vérifier(rb[i1].getId()); } }
OriginalL'auteur Ketan Ahir
...
Groupe de boutons.checkedChangeListener est pas la convocation de la première heure.
le code écrit dans la section des commentaires n'est pas lisible. il suffit de modifier votre réponse et d'y écrire...
hey man, votre code n'est pas readble dans la section commentaires.
final RadioButton[] rb = new RadioButton[list_of_radiobutton_data.size()]; rg = nouveau groupe de boutons(getActivity()); rg.setId(i); rg.setOrientation(groupe de boutons.VERTICALE); for (int i1 = 0; i1 < list_of_radiobutton_data.size(); i1++) { rb[i1] = new RadioButton(getActivity()); rb[i1].setText(list_of_radiobutton_data.get(i1)); rb[i1].setId(i1); rg.addView(rb[i1]); if (rb[i1].getText().equals(data_from_list_view.get(i))) { rb[i1].setChecked(true); /*rg.vérifier(rb[i1].getId());*/ } }
OriginalL'auteur Gopal Gopi
D'essayer cette solution pour récupérer le texte:
Est-il peut être un problème en raison de radio sélectionnée bouton?
Avez-vous mis
radiogroup.check(IdOfYourButton)
, coz dans ce cas, votre bouton radio est sélectionné par défaut donc, dans ce cas, l'auditeur va pas être appelé pour la première fois.AndroidWarrior non, je N'ai pas..Au moment de la création, je dois mettre ?
Je suis la création de radio bouton dynamiquement en utilisant ce code final RadioButton[] rb = new RadioButton[list_of_radiobutton_data.size()]; rg = nouveau groupe de boutons(getActivity()); rg.setId(i); rg.setOrientation(groupe de boutons.VERTICALE); for (int i1 = 0; i1 < list_of_radiobutton_data.size(); i1++) { rb[i1] = new RadioButton(getActivity()); rb[i1].setText(list_of_radiobutton_data.get(i1)); rb[i1].setId(i1); rg.addView(rb[i1]); if (rb[i1].getText().equals(data_from_list_view.get(i))) { rb[i1].setChecked(true); } }
OriginalL'auteur CodeWarrior