Matthew Haworth
Matthew Haworth

Reputation: 466

Why does my onCheckedChanged method not get fired when i click a different radio button in my radio group?

package matthew.datacollector;

import android.app.Activity;
import android.view.View;
import android.widget.TextView;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.os.Bundle;

public class DataCollectorActivity extends Activity implements RadioGroup.OnCheckedChangeListener, View.OnClickListener {

    private TextView tv;
    private RadioGroup rg;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.tv = (TextView) findViewById(R.id.textView1);
        this.rg = (RadioGroup) findViewById(R.id.radioGroup1);
        rg.setOnClickListener(this);
    }

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        this.tv.setText("lol");
        Toast.makeText(this.getApplicationContext(), "hey", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onClick(View v) {
        this.tv.setText("lol");
    }
}

I don't understand why this isn't working : /. I want it to set the text of the textview, and you can even see I have thrown in a toast for debugging. Still nothing, I've tried it without the @Overrides too

Upvotes: 1

Views: 3071

Answers (1)

alex.zherdev
alex.zherdev

Reputation: 24164

You forgot to set the listener onCheckedChange on the RadioGroup:

rg.setOnCheckedChangeListener(this);

Upvotes: 6

Related Questions