2011-12-20 101 views
2

在我Main I類調用另一個類的做一些事情,我需要將數據返回到上Main類,但它的崩潰有關應用程序的啓動某種原因:應用程序崩潰因某些原因:返回和分配問題

我的Main活動 - 它在getLocation()崩潰的事情與返回位置和分配到Point,因爲當我把這些線,它工作正常。

public class Main extends Activity { 

    ArrayList<Point> gpsCoordinates = new ArrayList<Point>(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.pages); 
     vf = (ViewFlipper) findViewById(R.id.viewFlipper); 

     try { 
      getLocation(null); 
     } catch (InterruptedException e) {} 

    } 

public synchronized void getLocation(View view) throws InterruptedException 
    { 

     LocationHandler lh = new LocationHandler(); 
     lh.getLocation(view,this); 
     Location location = new Location(lh.returnLocation()); 
     Point point = new Point(location.getLongitude(),location.getLatitude()); 
     gpsCoordinates.add(point); 
    } 
} 

我的觀點類:

public class Point { 

    private double x; 
    private double y; 

    public Point(double x, double y) { 
     this.setX(x); 
     this.setY(y); 
    } 

    public Point(Point point) { 
     this.setX(point.getX()); 
     this.setY(point.getY()); 
    } 

    public String toString(Point point) 
    { 
     String stringPoint = ""; 
     stringPoint = "(" + point.getX() + "," + point.getY() + ")"; 
     return stringPoint; 
    } 

    public void setX(double x2) { 
     this.x = x2; 
    } 

    public double getX() { 
     return this.x; 
    } 

    public void setY(double y2) { 
     this.y = y2; 
    } 

    public double getY() { 
     return this.y; 
    } 
} 

類我從主打電話:

public class LocationHandler { 
    Location location; 
    public synchronized void getLocation(final View view, final Main main) throws InterruptedException 
    { 

     Thread t = new Thread(){ 
      public synchronized void run(){ 

       location = new Location(mlocListener.returnLocation()); 


      } 

     }; 
     t.start(); 

    } 

    public Location returnLocation() 
    { 
     return location; 

    } 

} 

錯誤日誌:

12-20 12:35:11.348: E/AndroidRuntime(3466): FATAL EXCEPTION: main 
12-20 12:35:11.348: E/AndroidRuntime(3466): java.lang.RuntimeException: Unable to start activity ComponentInfo{mfc.generalgui6api8/mfc.generalgui6api8.Main}: java.lang.NullPointerException 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.os.Looper.loop(Looper.java:123) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at dalvik.system.NativeStart.main(Native Method) 
12-20 12:35:11.348: E/AndroidRuntime(3466): Caused by: java.lang.NullPointerException 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.location.Location.set(Location.java:123) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.location.Location.<init>(Location.java:116) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at mfc.generalgui6api8.Main.getLocation(Main.java:133) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at mfc.generalgui6api8.Main.onCreate(Main.java:44) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
12-20 12:35:11.348: E/AndroidRuntime(3466):  ... 11 more 
+0

已檢索它發佈的logcat也請。我懷疑NullPointerException – 2011-12-20 12:43:16

+0

@ user370305發表於 – Neeta 2011-12-20 12:44:09

+0

@ Parth_90發表 – Neeta 2011-12-20 12:45:45

回答

相關問題