2 jsonzhong jsonzhong 于 2016.04.08 11:55 提问

使用RadioGroup设置监听时为啥出现错误,有啥原因造成的 1C

使用RadioGroup设置监听时为啥出现错误,有啥原因造成的

public class MainActivity extends Activity {

private static final long WELCOME_SCHEDULE_TIME = 1000 * 5;  //对时间的延迟5秒
private RadioGroup  radioGroup;
private RadioButton      rb_home,rb_consult,rb_Myindustry,rb_Myordering;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
       initListener();
      initView();
    final Intent intent = new Intent();
    Timer timer = new Timer();

    TimerTask timerTask = new TimerTask() {
        @Override
        public void run() {
            intent.setClass(MainActivity.this, LoginActivity.class);
            MainActivity.this.startActivity(intent);
            finish();
        }
    };

    // 延迟5秒后进入主页面
    timer.schedule(timerTask, WELCOME_SCHEDULE_TIME);
}
/**
 * 控件的获取
 */
private void initView() {
        rb_home= (RadioButton) findViewById(R.id.rb_homepage);
        rb_consult= (RadioButton) findViewById(R.id.rb_consult);
        rb_Myordering= (RadioButton) findViewById(R.id.rb_myordering);
       rb_Myindustry= (RadioButton) findViewById(R.id.rb_myindustry);
}
/**
 * 对所在控件监听
 */
private void initListener() {
      radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
          @Override
          public void onCheckedChanged(RadioGroup group, int checkedId) {
                       if (checkedId==rb_home.getId()) {
                           Intent intent1 = new Intent(MainActivity.this, HomePage.class);
                           startActivity(intent1);
                       }
                 else if (checkedId==rb_consult.getId()){
                      Intent intent2 = new Intent(MainActivity.this, Consult.class);
                      startActivity(intent2);}
                  else  if (checkedId==rb_Myordering.getId()) {
                        Intent intent3 = new Intent(MainActivity.this, Myordering.class);
                        startActivity(intent3);
                    }
                 else   if (checkedId==rb_Myindustry.getId()) {
                        Intent intent4 = new Intent(MainActivity.this, Mydustry.class);
                        startActivity(intent4);
                    }
              }
      });

}

}

2个回答

A418617870
A418617870   2016.04.08 12:34

是不是忘了 radioGroup = (RadioGroup)this.findViewById(R.id.radioGroup); 这句了

chefanyangzhi
chefanyangzhi   2016.04.08 15:05
  initListener();
  initView();
        这两个换下位置
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
完美解决RadioGroup setOnCheckedChangedListener 多次调用问题
一般情况下,RadioGroup配合RadioButton达到单选框的效果,很多时候会发现setOnCheckChangedListener会多次调用问题,有时候屏幕焦掉变化或RadioButton初始化设置setChecked(boolean b),都会引起监听的调用,有时会导致逻辑混乱 解决也比较简单 demo: rgGroup.setOnCheckedChangeListener(new R
RadioGroup控件(接口类监听事件)
前端 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="ma
动态添加RadioGroup组件的RadioButton出现多选状况解决
动态添加RadioGroup组件的RadioButton出现多选状况解决 (1)使用radiogroup组件时,每个radiobutton必须有一个id,否则会出现多选,不管是xml文件还是动态添加; (2)每一个radiobutton最好不要嵌套任何父布局,父布局直接为radiogroup即可; (3)确保radiobutton的id不会重复,如果是在xml中,则可以直接报错,而在动态添加时
空指针异常可能出现的原因
一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化; ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = new ArrayList(); 则不会报错了 ·当一个对象的值为空时,你没有判断为空的情况。 你可以试着把下面的代码前加一行代码: if(rb!=null);
ToggleButton的使用,RadioGroup的使用和监听,
我们先使用ToggleButton(开关按钮)实现一个布局的横向和x
RadioGroup 和 RadioButton 点击事件
这两天遇到需要 RadioGroup 和 RadioButton 点击事件处理,记录并分享一下。
radiogroup中radiobutton出现多选如何解决
radiogrop中的button本来只能单选,如果给button指定不同的id,可能出现能多选的情况,解决办法就是给不同的id
解决RadioButton默认选中时调用setOnCheckedChangeListener的问题
解决RadioButton默认选中时调用setOnCheckedChangeListener的问题在android中,我们会经常用到单选框,默认会有某一项被选中,然后我们会监听RadioGroup的setOnCheckedChangeListener方法用以做不同的逻辑处理,但是有时候,我们只想当自己点击的时候才去调用,但是如果你默认设置某一项被选中发现,它也会调用setOnCheckedChang
关于setOnCheckedChangeListener的使用
toggleButton public class ToggleActivity extends Activity implements CompoundButton.OnCheckedChangeListener { private ToggleButton tb; private ImageView img; @Override protected void
可能出现内存泄漏的几种情况
定义    简单来说,内存泄漏就是程序在申请一个内存空间后没有释放,直到程序运行结束后才释放。这样看起来似乎没什么大问题,但是如果程序会持续运行很长时间(例如服务器),并且可能在程每次调用某个部分的时候都会申请一个内存空间,那么长久以来的后果是可想而知的:当程序希望再次申请一块空间时,发现已经没有free的部分了,最终导致系统崩溃。 情况    内存泄漏可能发生在如下几种条件下:    1