nullPointerException处理程序Android

时间:2012-03-06 21:45:32

标签: android nullpointerexception handler

我在getHandler上遇到了nullPointerException,我无法解决这个问题..

你能帮帮我吗?我不知道bug在哪里......错误在同样的情况下随机发生。

一些代码......

    final Handler mHandler = new Handler();
    new Thread(new Runnable() {
        public void run() {
            while (mProgressStatus < 100) {
                    mProgressStatus = Elabora();
                    mHandler.post(new Runnable() {
                    public void run() {
                        progressBar1.setProgress((int) mProgressStatus);
                    }
                });
            }
            if(isStopped)
            {
                op_ko.show();
                     //error in the next line
            txt_status1.getHandler().post(new Runnable() {
                    public void run() {
                        txt_status1.setText(R.string.op_ko);
                    }
                });

            }
                else
                {
                    op_ok.show();
                    txt_status1.getHandler().post(new Runnable() {
                        public void run() {
                            txt_status1.setText(R.string.op_ok);
                        }
                    });
                }
            btn_stop.getHandler().post(new Runnable() {
                public void run() {
                    btn_stop.setVisibility(View.INVISIBLE);
                }
            });         
        }

1 个答案:

答案 0 :(得分:0)

其中有很多变量可能为null,请尝试使用调试来确定它是哪一行(即读取logcat或在Java Exception Breakpoint上使用NullPointerException重新运行)。

如果错误发生或没有“随机”发生,通常的一个陷阱是在活动的onCreate之外初始化成员变量(mHandler ......但也可能是txt_status1,progressBar1,btn_stop等?)。如果Android初始化方向更改,或者因任何其他原因随机决定终止并重新创建您的活动,那么您将失去状态,并且所有这些成员变量都将为空。