2017-08-06 2 views
0

Mon problème se produit dans la méthode de background.excute tout en essayant de passer la valeur de mâle et femellePasse code de bouton radio dans AsyncTask excute procédé

name = (EditText) findViewById(R.id.NameTxt); 
age = (EditText) findViewById(R.id.Agetext); 
gender = (RadioGroup) findViewById(R.id.radio); 

int id = gender.getCheckedRadioButtonId(); 

male = (RadioButton) findViewById(id); 
female = (RadioButton) findViewById(id); 
public void INSERT (View v){ 

MainBackground mainBackground=new MainBackground(this,this); 
mainBackground.execute(name.getText().toString(),age.getText().toString(), 
male.getText().toString(),female.getText().toString()); 

et l'erreur est la suivante: causée par: java.lang. NullPointerException: Tentative d'invocation de la méthode virtuelle 'java.lang.CharSequence android.widget.RadioButton.getText()' sur une référence d'objet null

+1

S'il vous plaît envoyer votre code et l'erreur dans la question et non pas dans les images jointes. Essayez aussi de poser une question. – Oleg

Répondre

0

Vous devez rechercher ViewById individuellement pour chaque bouton radio.

male = (RadioButton) findViewById(R.id.male);// give id to male radio button as male if not give and similarly female for female button 
female = (RadioButton) findViewById(R.id.female); 

Et vous pouvez transmettre les valeurs comme ceci:

comme ceci: passer la valeur des hommes et des femmes comme booléen.

male.isChecked() 
female.isChecked() 
0

radio.getCheckedRadioButtonId();

retour uniquement la référence du bouton radio sélectionné

+0

alors comment je passerais sa valeur dans la méthode d'exécution ?? –

+0

oublier exécuter la méthode ..... si vous voulez passer la valeur de l'homme et la femme alors je ne sais pas pourquoi vous utilisez le groupe radio, parce que le groupe radio sont pour obtenir la valeur du bouton radio qui est cliqué, si encore vous veulent obtenir la valeur des deux, alors vous devez initialiser à la fois bouton radio et den faire ce que vous voulez faire –