Ho un onClickListener di un pulsante che deve rilevare quale pulsante radio è stato selezionato quando l'utente fa clic sul pulsante. Attualmente, il Log.v che vedete qui sotto nella onClickListener non restituisce un po 'inutile di informazioni:getCheckedRadioButtonId() restituisce int inutile?
Questo viene fatto clic su Invia per tre volte con una radio diversa selezionato di volta in volta:
04-27 19: 24: 42,417: V/presentare (1564): 1094168584
04-27 19: 24: 45,048: V/presentare (1564): 1094167752
04-27 19: 24: 47,348: V/presentare (1564): 1094211304
Quindi, ho bisogno di sapere quale radioButton è effettivamente selezionato - c'è un modo per ottenere l'oggetto del radiobutton? Voglio essere in grado di ottenere il suo id # da XML, così come il suo testo corrente.
Ecco il codice rilevante:
public void buildQuestions(JSONObject question) throws JSONException {
radioGroup = (RadioGroup) questionBox.findViewById(R.id.responseRadioGroup);
Button chartsButton = (Button) questionBox.findViewById(R.id.chartsButton);
chartsButton.setTag(question);
Button submitButton = (Button) questionBox.findViewById(R.id.submitButton);
chartsButton.setOnClickListener(chartsListener);
submitButton.setOnClickListener(submitListener);
TagObj tagObj = new TagObj(question, radioGroup);
submitButton.setTag(tagObj);
}
public OnClickListener submitListener = new OnClickListener() {
public void onClick(View v) {
userFunctions = new UserFunctions();
if (userFunctions.isUserLoggedIn(activity)) {
TagObj tagObject = (TagObj) v.getTag();
RadioGroup radioGroup = tagObject.getRadioGroup();
JSONObject question = tagObject.getQuestion();
Log.v("submit", Integer.toString(radioGroup.getCheckedRadioButtonId()));
SubmitTask submitTask = new SubmitTask((Polling) activity, question);
submitTask.execute();
}
}
};
I miei pulsanti di opzione sono programmatici - non hanno parti contatore XML. C'è un modo per farlo ancora? – Davek804
@ Davek804 Naturalmente. Quando crei i 'RadioButtons' li imposta con ID distinti con' setId() '. Quindi nella dichiarazione switch dalla mia risposta usa i numeri che assegni come id invece di 'R.id.radio_button1'. Ho modificato la mia risposta. – Luksprog
Eccellente, tutto pronto! Grazie. – Davek804