title: Retrofit API data pass in Fragment
body: <pre><code>public class MainActivity extends AppCompatActivity implements
          GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener,
          LocationListener {
  
      private GoogleApiClient googleApiClient;
      private LocationRequest locationRequest;
      private Geocoder geocoder;
      private List&lt;Address&gt; addressList;
  
      private TextView showLatTV, showAddrTV;
      private String currentLat = null, currentLng = null;
      private Bundle bundle;
      private String apiTemp, apiArea,apiCountry,weatherCondition,apiSunrise,apiSunset,apiHumidity ;
      String weatherUrl = "http://api.openweathermap.org/data/2.5/weather?lat=49&amp;lon=26&amp;APPID=8e401c96e74d2f0c07da113eb27d51d0";
  
      private final String BASE_URL = "http://api.openweathermap.org/";
      private WeatherData weatherData;
      private WeatherServiceAPI weatherServiceAPI;
  
      // Main Activity OnCreate Method Starts *********
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          showLatTV = (TextView) findViewById(R.id.showLat);
          showAddrTV = (TextView) findViewById(R.id.showAddr);
          geocoder = new Geocoder(this);
  
  
          googleApiClient = new GoogleApiClient.Builder(this)
                  .addApi(LocationServices.API)
                  .addConnectionCallbacks(this)
                  .addOnConnectionFailedListener(this)
                  .build();
  
          //Retrofit Starts ************************************
  
          Retrofit retrofit = new Retrofit.Builder()
                  .baseUrl(BASE_URL)
                  .addConverterFactory(GsonConverterFactory.create())
                  .build();
          weatherServiceAPI = retrofit.create(WeatherServiceAPI.class);
  
  
          currentLat=String.valueOf(23.810); currentLng= String.valueOf(90.412);
          String dynamicUrl = BASE_URL+"data/2.5/weather?lat="+currentLat+"&amp;lon="+currentLng+"&amp;APPID=8e401c96e74d2f0c07da113eb27d51d0";
  
          Call&lt;WeatherData&gt;weatherResponse = weatherServiceAPI.getWeatherResponse(dynamicUrl);
          weatherResponse.enqueue(new Callback&lt;WeatherData&gt;() {
              @Override
              public void onResponse(Call&lt;WeatherData&gt; call, Response&lt;WeatherData&gt; response) {
                  WeatherData weatherData=response.body();
                  //Toast.makeText(MainActivity.this, "Got It", Toast.LENGTH_SHORT).show();
                  apiTemp = weatherData.getMain().getTemp().toString();
                  apiArea = weatherData.getName().toString();
                  apiCountry = weatherData.getSys().getCountry().toString();
                  apiSunrise = weatherData.getSys().getSunrise().toString();
                  apiSunset = weatherData.getSys().getSunset().toString();
                  apiHumidity = weatherData.getMain().getHumidity().toString();
                  weatherCondition = weatherData.getWeather().get(0).getMain().toString();
  
                  // areaTV.setText(city);
  
                  Toast.makeText(MainActivity.this, " City :"+apiTemp, Toast.LENGTH_SHORT).show();
              }
  
              @Override
              public void onFailure(Call&lt;WeatherData&gt; call, Throwable t) {
                  Toast.makeText(MainActivity.this, ""+t.getMessage(), Toast.LENGTH_SHORT).show();
                  Log.e("weather", "onFailure: "+t.getMessage() );
  
              }
          });
  
          //Retrofit Ends ************************************
  
  
          bundle = new Bundle();
  
          bundle.putString("temperature",apiTemp);
          bundle.putString("areaName",apiArea);
          bundle.putString("country",apiCountry);
          bundle.putString("sunrise",apiSunrise);
          bundle.putString("sunset",apiSunset);
          bundle.putString("humidity",apiHumidity);
          bundle.putString("condition",weatherCondition);
  
          FragmentManager fm = getSupportFragmentManager();
          FragmentTransaction ft = fm.beginTransaction();
          FragmentCurrent fragmentCurrent = new FragmentCurrent();
          fragmentCurrent.setArguments(bundle);
          ft.add(R.id.fragmentContainer, fragmentCurrent);
          ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
          ft.addToBackStack(null);
          ft.commit();
      }
      // Main Activity Oncreate Method Ends *****************
  
      //Change Fragment OnClick Method Starts ****************
      public void changeWeather(View view) {
  
          Fragment fragment = null;
          switch (view.getId()) {
              case R.id.fragmentCurrent:
                  fragment = new FragmentCurrent();
                  bundle.putString("temperature",apiTemp);
                  bundle.putString("areaName",apiArea);
                  bundle.putString("country",apiCountry);
                  bundle.putString("sunrise",apiSunrise);
                  bundle.putString("sunset",apiSunset);
                  bundle.putString("humidity",apiHumidity);
                  bundle.putString("condition",weatherCondition);
                  break;
              case R.id.fragmentForecast:
                  fragment = new FragmentForecast();
                  // bundle.putInt("b",b);
                  break;
  
          }
          FragmentManager fm = getSupportFragmentManager();
          FragmentTransaction ft = fm.beginTransaction();
          //fragment.setArguments(bundle);
          ft.replace(R.id.fragmentContainer, fragment);
          ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
          ft.addToBackStack(null);
          ft.commit();
      }
  
      //Change Fragment OnClick Method Ends ******************
  
      @Override
      protected void onStart() {
          super.onStart();
          googleApiClient.connect();
      }
  
      @Override
      protected void onPause() {
          googleApiClient.disconnect();
          super.onPause();
      }
  
  
  
      @Override
      public void onConnected(@Nullable Bundle bundle) {
  
          locationRequestUpdate();
  
      }
  
      public void locationRequestUpdate(){
          locationRequest = locationRequest.create()
                  .setInterval(1000)
                  .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
  
          if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &amp;&amp; ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
              // TODO: Consider calling
  
              return;
          }
          LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, this);
  
      }
  
      @Override
      public void onConnectionSuspended(int i) {
  
      }
  
      @Override
      public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
  
      }
  
      @Override
      public void onLocationChanged(Location location) {
          showLatTV.setText(String.valueOf(location.getLatitude()));
          try {
              addressList = geocoder.getFromLocation(location.getLatitude(),
                      location.getLongitude(),1);
              String addr = addressList.get(0).getAddressLine(0);
              String country = addressList.get(0).getCountryName();
              showAddrTV.setText(addr+"\n"+country);
          } catch (IOException e) {
              e.printStackTrace();
          }
  
      }
  
  }
  </code></pre>
  
  <p>My Fragmet Code :</p>
  
  <pre><code>public class FragmentCurrent extends Fragment {
      private TextView tempTV,areaTV,countryTV,sunriseTV,sunsetTV,humidityTV,conditionTV;
  
  
      public FragmentCurrent() {
          // Required empty public constructor
      }
  
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                               Bundle savedInstanceState) {
          // Inflate the layout for this fragment
          String temperature = getArguments().getString("temperature");
          String areaName = getArguments().getString("areaName");
          String country = getArguments().getString("country");
          String sunrise = getArguments().getString("sunrise");
          String sunset = getArguments().getString("sunset");
          String humidity = getArguments().getString("humidity");
          String weatherCondition = getArguments().getString("condition");
  
  
          tempTV = (TextView) getView().findViewById(R.id.showTemperature);
          sunriseTV = (TextView) getView().findViewById(R.id.showSunrise);
          sunsetTV = (TextView) getView().findViewById(R.id.showSunset);
          conditionTV = (TextView) getView().findViewById(R.id.showCondition);
  
          tempTV.setText(temperature);
          sunriseTV.setText(sunrise);
          sunsetTV.setText(sunset);
          conditionTV.setText(weatherCondition);
  
          View view = inflater.inflate(R.layout.fragment_fragment_currrent, container, false);
          return view;
      }
  
  }
  </code></pre>
  
  <p>Logcat:</p>
  
  <pre><code>04-22 00:05:46.234 2684-2684/? E/libprocessgroup: failed to make and chown /acct/uid_10071: Read-only file system
  04-22 00:05:48.331 2684-2684/com.example.forever.weather E/AndroidRuntime: FATAL EXCEPTION: main
                                                                             Process: com.example.forever.weather, PID: 2684
                                                                             java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.forever.weather/com.example.forever.weather.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                                                 at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                 at android.os.Looper.loop(Looper.java:135)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                 at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                                              Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
                                                                                 at com.example.forever.weather.FragmentCurrent.onCreateView**(FragmentCurrent.java:37)**
                                                                                 at android.support.v4.app.Fragment.performCreateView(Fragment.java:2192)
                                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
                                                                                 at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
                                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
                                                                                 at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
                                                                                 at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363)
                                                                                 at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149)
                                                                                 at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
                                                                                 at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2013)
                                                                                 at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388)
                                                                                 at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607)
                                                                                 at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
                                                                                 at com.example.forever.weather.MainActivity.onStart**(MainActivity.java:161)**
                                                                                 at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236)
                                                                                 at android.app.Activity.performStart(Activity.java:6006)
                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                                                                                 at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                 at android.os.Looper.loop(Looper.java:135) 
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                                                 at java.lang.reflect.Method.invoke(Native Method) 
                                                                                 at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
  </code></pre>
  
  <p>I am not being able to pass the data in Fragment. It giving NullPointerException that means data not going to Fragment. Please, someone, help me how can I pass the Retrofit API data in Fragment or can someone show me how i can pass retrofit data in Fragment in a easy Way ?</p>