I have a simple radiogroup with the list of radio buttons. For some reason, I don't see change listener is getting triggered when selecting radio buttons in that group. In debug mode, I can see the listener is getting set and in UI the radio buttons are correctly getting selected.
RadioGroup.OnCheckedChangeListener listener1, listener2;
RadioGroup rg1;
public void radioBtnListener()
{
rg1 = (RadioGroup) view.findViewById(R.id.answerChoices);
rg1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("Log", "Clicked");
}
});
rg1.setOnCheckedChangeListener(listener1);
listener1 = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId != -1) {
Log.e("Log", "changed");
}
}
};
}
You're using the same listener for both callbacks so the first one is being destroyed. If you change the latter to listener2 it should be good.
This one leaves a reference for listener1 with rg1
rg1.setOnCheckedChangeListener(listener1);
And then this destroys the original listener1 and gives you a new
listener1 = new RadioGroup.OnCheckedChangeListener() {}