android checkBox 全选app闪退

少侠留步 发布于 2016/08/19 15:10
阅读 361
收藏 0

新手求教 为什么我下面的代码其他选项点击都没问题,但是点击all选项  app就会闪退

package com.lan.morecheck;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class MainActivity extends Activity {
    
    private CheckBox eatBox;
    private CheckBox sleepBox;
    private CheckBox dotaBox;
    private CheckBox allBox;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        eatBox =(CheckBox)findViewById(R.id.eatBox);
        sleepBox =(CheckBox)findViewById(R.id.sleepBox);
        dotaBox =(CheckBox)findViewById(R.id.dotaBox);
        allBox = (CheckBox)findViewById(R.id.allBox);
        
        AllCheckListener listener = new AllCheckListener();
        allBox.setOnCheckedChangeListener(listener);
    }
    
    class AllCheckListener implements OnCheckedChangeListener{

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        //eatBox.isChecked();
            eatBox.setChecked(isChecked);            
            sleepBox.setChecked(isChecked);
            dotaBox.setChecked(isChecked);
        }    
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

下面是错误代码。。。完全崩溃啊  虚拟机 还是手机都崩溃
08-19 14:59:58.741: D/AndroidRuntime(13576): Shutting down VM
08-19 14:59:58.744: E/AndroidRuntime(13576): FATAL EXCEPTION: main
08-19 14:59:58.744: E/AndroidRuntime(13576): Process: com.lan.morechick, PID: 13576
08-19 14:59:58.744: E/AndroidRuntime(13576): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CheckBox.setChecked(boolean)' on a null object reference
08-19 14:59:58.744: E/AndroidRuntime(13576):     at com.lan.morechick.MainActivity$CheckBoxListener.onCheckedChanged(MainActivity.java:58)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.widget.CompoundButton.setChecked(CompoundButton.java:156)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.widget.CompoundButton.toggle(CompoundButton.java:115)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.widget.CompoundButton.performClick(CompoundButton.java:120)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.view.View$PerformClick.run(View.java:21177)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.os.Handler.handleCallback(Handler.java:739)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.os.Handler.dispatchMessage(Handler.java:95)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.os.Looper.loop(Looper.java:148)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at android.app.ActivityThread.main(ActivityThread.java:5438)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at java.lang.reflect.Method.invoke(Native Method)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
08-19 14:59:58.744: E/AndroidRuntime(13576):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

加载中
0
skhuhu
skhuhu
不是android开发  随便看下 你的allcheck Listener 里面3个checkbox 是null 的····自己debug 下
0
少侠留步
hi  谢谢楼上的,问题已经找出来了。  代码其实没错的   是我运行的时候运行了错误的项目造成的 ~~~~  哭晕厕所啊    浪费一早上时间。   还是谢谢您哈 !
返回顶部
顶部