吐司中的空指针异常

时间:2013-09-26 15:13:08

标签: java android nullpointerexception

我不知道发生了什么。我有一个计时器,我需要显示一个Toast消息,所以我必须使用runOnUiThread使它发生。但是当代码执行到达Toast时,它会失败:

private void Print(String message)
    {
       final String CustomMessage = message;
        try{
            this.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    try
                    {
                    Toast.makeText(MainActivity.this,CustomMessage,Toast.LENGTH_LONG).show();
                    }
                    catch (Exception e)
                    {
                            String b = e.getMessage();//Null Pointer Exception.
                    }
                }
            });
        }
        catch (Exception Error){}
    }

这是手表。

enter image description here

可能是什么原因?我总是那样做,没有什么是空的。

更新

这里是LogCat的一部分

enter image description here

2 个答案:

答案 0 :(得分:0)

你不需要使用runOnUIThread,就这样做:

private void Print(String message)
    {
       final String CustomMessage = message;

       Toast.makeText(MainActivity.this,CustomMessage,Toast.LENGTH_LONG).show();

    }

答案 1 :(得分:0)

当您尝试展示此MainActivity.this时,您的Toast实例会严重搞乱。可能的原因包括:

  • 在活动实例上调用Print()之前,您正在从初始化程序,构造函数或其他方式调用super.onCreate()

  • 您通过构造函数创建了MainActivity的实例,而不是通过startActivity()