2013-07-08 32 views
0

我有3個類,其中一個是活動。 的OnCreate當我將它傳遞給另一個類構造時,Java android surfaceview變爲null

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); 

內MovementResult

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"); 
     } 

一個漫長而痛苦的搜索後(becouse我還沒有檢查becouse我沒有看到的原因......)在類MovementResult探測器原來裏面活動爲null 。這兩個日誌顯示在logcat中,您可以在構造函數中看到,但活動中的日誌不顯示。

所以我有一個對象的活動不是null。然後我將它傳遞給另一個構造函數,它在那裏變成null。可能是什麼原因?

回答

2

detectorview是傳遞的參數,檢測器是空成員。

看起來你想設置探測器爲detectorview,但相反,你設置(通過)detectorview爲(空)探測器,這當然不是你想要的。

+0

oops ...是的,這不完全是我想要做的。 :)現在工作thx。 –

相關問題