java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.serialtest.operateSerialPort$OnDataReceiveListener.onDataReceive(byte[], int)' on a null object reference

在MainActivity里定义一个operateSerialPort ioperateSerialPort = new operateSerialPort(mInputStream,mOutputStream);

ioperateSerialPort.setOnDataReceiveListener(new operateSerialPort.OnDataReceiveListener() {
@Override
public void onDataReceive(byte[] buffer, int size) {
Log.d("MainActivity", "进入数据监听事件中。。。" + new String(buffer));

        }


    });


            重写一个接口;

            然后在其他地方new serialReadThread().start();一个线程
            class serialReadThread extends Thread{
    @Override
    public void run()
    {
        super.run();
        byte [] buffer=new byte[32];
        int size=0;
        Log.d(TAG,"running Serial Receive Thread!");
        while(true)
        {

            try
            {

                size=mInputStream.read(buffer);
                Thread.sleep(100);
                if(size>0)
                {
                    Log.d(TAG,"receive lock data:"+byteToHexStr(buffer,size));
                    for(int i=0;i<size;i++)
                    {
                        System.out.printf(" %2X",buffer[i]);
                    }
                    System.out.println("");
                    Log.d(TAG,"receive data lenght:"+String.valueOf(size));
                    onDataReceiveListener.onDataReceive(buffer,3);
                    size=0;
                }
            } catch (IOException e) {
                Log.e(TAG,"Receive Lock data fail!"+e.toString());
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

            一直运行,串口接收到数据就报错,java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.serialtest.operateSerialPort$OnDataReceiveListener.onDataReceive(byte[], int)' on a null object reference这样的错误,求解是什么原因?

https://blog.csdn.net/Jm0218Xx/article/details/102798338 看下