I am using Location Fused Provider in my app and I want to send latitude and logitude in Firebase Upstream message from Main activity to the DashBoard Fragment where I have button for upstream message. I have posted similar question, but this is not duplicate. My question is why I get null pointer exception?
This is my method in mainActivity
which should pass data:
private void updateUI(){
if(null!=mCurrentLocation){
String lat=String.valueOf(mCurrentLocation.getLatitude());
String lot=String.valueOf(mCurrentLocation.getLongitude());
Bundle bundle=new Bundle();
bundle.putString("KEY_LAT", lat);
bundle.putString("KEY_LNG", lot);
DashboardFragment dashboardFragment=new DashboardFragment();
dashboardFragment.setArguments(bundle);
}
And this is the part of DashBoardFragment
where I should put latitude and longitude:
public void getObjectEvent(EventModel data){
String longitude;
longitude=getArguments().getString("KEY_LNG");
Log.d("LONGITUDE", "Longitude is: " + longitude);
Gson data_json = new Gson();
String json=data_json.toJson(data);
FirebaseMessaging fm=FirebaseMessaging.getInstance();
fm.send(new RemoteMessage.Builder(SENDER_ID + "@gcm.googleapis.com")
.setMessageId(UUID.randomUUID().toString())
.addData("action","message")
.addData("data","{\"message\":\"Upstream Message\"}")
.addData("object", json)
.addData("longitude", longitude)
.build());
}
And this is my null pointer:
08-08 14:17:12.755 13165-13165/com.telnet.asp E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException
at com.telnet.asp.presentation.view.fragments.DashboardFragment.getObjectEvent(DashboardFragment.java:125)
at com.telnet.asp.presentation.view.adapters.DashboardGridAdapter.getDataObject(DashboardGridAdapter.java:145)
at com.telnet.asp.presentation.view.adapters.DashboardGridAdapter$3.onClick(DashboardGridAdapter.java:128)
at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157)
at android.os.Handler.dispatchMessage(Handler.java)
at android.os.Looper.loop(Looper.java)
at android.app.ActivityThread.main(ActivityThread.java)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
at dalvik.system.NativeStart.main(Native Method)
Could anyone help me? Thanks in advance.