我有 3 节课,其中一节课是活动。内部活动 oncreate
Camera camera = Camera.open();
MovementDetector detector = new MovementDetector(this, camera);
if(detector == null)Log.d(null, "detector null in activity");
MovementResult result = new MovementResult(this, detector);
内部运动结果
public class MovementResult extends SurfaceView implements SurfaceHolder.Callback, Runnable {
SurfaceHolder holder;
MovementDetector detector;
public MovementResult(Context context, MovementDetector detectorview) {
super(context);
holder = getHolder();
holder.addCallback(this);
detectorview = detector;
if(detector == null)Log.d(null, "detector null in constructor");
if(detectorview == null)Log.d(null, "detectorview null in constructor");
}
经过漫长而痛苦的搜索(因为我没有检查,因为我没有看到原因......)在类 MovementResult 检测器中结果为空。两个日志都显示在 logcat 中,您可以在构造函数中看到,但是活动中的日志不显示。
所以我在一个不为空的活动中有一个对象。然后我将它传递给另一个构造函数,它在那里变为空。可能是什么原因?