カスタム アプリを作成していますが、コードのメンテナンスを改善するために、さまざまな関数をさまざまなクラスのように分離したいと考えています。
現在、クラスMainActivity
とクラスがGPSLoc
あります。MainActivity
Class からメソッドを呼び出して緯度と経度を表示するボタンがありますがGPSLoc
、残念ながら、ボタンを押すとすぐに がスローさNullPointException
れ、ここにGPSLoc
クラスがあり、メソッドをスタンドアロンでテストしましたが、正常に動作します.
public void onClick(View v) {
GPSLoc Test1=new GPSLoc();
Test1.showCoordinate();
}
});
ここにもLogCatがあります
07-07 19:04:24.730: E/AndroidRuntime(830): FATAL EXCEPTION: main
07-07 19:04:24.730: E/AndroidRuntime(830): java.lang.NullPointerException
07-07 19:04:24.730: E/AndroidRuntime(830): at com.example.testnewbutton.GPSLoc.showCoordinate(GPSLoc.java:122)
07-07 19:04:24.730: E/AndroidRuntime(830): at com.example.testnewbutton.MainActivity$1.onClick(MainActivity.java:53)
07-07 19:04:24.730: E/AndroidRuntime(830): at android.view.View.performClick (View.java:4204)
07-07 19:04:24.730: E/AndroidRuntime(830): at android.view.View$PerformClick.run(View.java:17355)
ここに ShowCoordinate メソッドがあります
public void showCoordinate ()
{
LocationManager manager = (LocationManager)mContext.getSystemService(Context.LOCATION_SERVICE);
LocationListener ll=new MyLocationListener();
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
Location location=manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
String message = String.format(
"Current Location \n Longitude: %1$s \n Latitude: %2$s",
location.getLongitude(), location.getLatitude()
);
{ Toast.makeText(mContext, message,Toast.LENGTH_LONG).show();}
}
}