为了账号安全,请及时绑定邮箱和手机立即绑定

6分50秒的这个例子老师的能运行,我的运行就报错了

protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

   textView= (TextView) findViewById(R.id.id_txt_one);

   new Thread(){
       public void run(){
           try {
               Thread.sleep(1000);
               handler.post(new Runnable() {
                   @Override
                   public void run() {
                       textView.setText("测试Handler");
                   }
               });

           } catch (InterruptedException e) {
               e.printStackTrace();
           }
       }

   }.start();

}

照着敲得代码老师的能运行,我的直接停止运行了,报错如下:

E/AndroidRuntime: FATAL EXCEPTION: Thread-174

                  Process: org.wetao.com.handlerapplication, PID: 3382

                  java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.post(java.lang.Runnable)' on a null object reference

                      at org.wetao.com.handlerapplication.MainActivity$1.run(MainActivity.java:25)

报错的25行就是 handler.post(new Runnable() 这行

正在回答

4 回答

看错误提示啊 我英语不好的都看懂啦 Handler.post(java.lang.Runnable)' on a null object reference  Handler是空的 你得初始化他  这年头得想办法自己学会看错误提示 哈哈哈

0 回复 有任何疑惑可以回复我~

报的空指针的错 handler初始化的错误   private Handler handler = new Handler():

0 回复 有任何疑惑可以回复我~

这是完整的,包括导入的包


import android.os.Bundle;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.widget.TextView;



public class MainActivity extends AppCompatActivity {


    private TextView textView;

    private Handler handler;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        textView= (TextView) findViewById(R.id.id_txt_one);


        new Thread(){

            public void run(){

                try {

                    Thread.sleep(1000);

                    handler.post(new Runnable() {

                        @Override

                        public void run() {

                            textView.setText("测试Handler");

                        }

                    });


                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

            }


        }.start();


    }

}


0 回复 有任何疑惑可以回复我~

会不会导错包了

0 回复 有任何疑惑可以回复我~
#1

jayleke 提问者

你好,我在后面贴了完整的代码,包括导入的包名,麻烦帮我看一下,谢谢
2016-08-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android面试常客Handler详解
  • 参与学习       54881    人
  • 解答问题       183    个

学Android开发,必学Handler,也是Android面试常客

进入课程

6分50秒的这个例子老师的能运行,我的运行就报错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信