Potrzebuję pomocy w aktualizacji TextView w fragmencie o czas podany w aktywności.
Nie mam kompletnie pojęcia jak się za to zabrać

MainActivity


package com.example.weatherapp;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;

import android.annotation.SuppressLint;

import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Bundle;

import android.widget.TextView;
import android.widget.Toast;


public class CoreActivity extends AppCompatActivity implements Runnable {

    static double longtitude;
    static double latitude;
    static int refreshRate;

    public static double getLongtitude() {
        return longtitude;
    }

    static public double getLatitude() {
        return latitude;
    }

    static public int getRefreshRate() {
        return refreshRate;
    }

    @Override
    public void run() {

    }

    public static class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);
        }


        // Returns total number of pages
        @Override
        public int getCount() {
            int NUM_ITEMS = 2;
            return NUM_ITEMS;
        }

        // Returns the fragment to display for that page
        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0: // Fragment # 0 - This will show FirstFragment
                    return FragmentSun.newInstance(0, "Sun", CoreActivity.getLongtitude(), CoreActivity.getLatitude(), CoreActivity.getRefreshRate());
                case 1: // Fragment # 0 - This will show FirstFragment different title
                    return MoonFragment.newInstance(1, "Moon", CoreActivity.getLongtitude(), CoreActivity.getLatitude(), CoreActivity.getRefreshRate());

                default:
                    return null;
            }
        }

        // Returns the page title for the top indicator
        @Override
        public CharSequence getPageTitle(int position) {
            return "Page " + position;
        }

    }

    FragmentPagerAdapter adapterViewPager;

    @SuppressLint("SetTextI18n")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        longtitude = getIntent().getDoubleExtra("longtitude", longtitude);
        latitude = getIntent().getDoubleExtra("latitude", latitude);
        refreshRate = getIntent().getIntExtra("refreshRate", refreshRate);


        if ((getResources().getConfiguration().screenLayout &
                Configuration.SCREENLAYOUT_SIZE_MASK) ==
                Configuration.SCREENLAYOUT_SIZE_NORMAL) {
            setContentView(R.layout.activity_core);
            super.onCreate(savedInstanceState);
         //  this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // ONLY PORTRAIT MODE

            TextView txtLongtitude = findViewById(R.id.txtLongtitude);
            txtLongtitude.setText("Longtitude : " + longtitude);

            TextView txtLatitude = findViewById(R.id.txtLatitude);
            txtLatitude.setText("Latitude : " + latitude);

            ViewPager vpPager = (ViewPager) findViewById(R.id.vpPager);

            adapterViewPager = new MyPagerAdapter(getSupportFragmentManager());
            vpPager.setAdapter(adapterViewPager);
            vpPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

                // This method will be invoked when a new page becomes selected.
                @Override
                public void onPageSelected(int position) {
                    Toast.makeText(CoreActivity.this,
                            "Selected page position: " + position, Toast.LENGTH_SHORT).show();
                }

                // This method will be invoked when the current page is scrolled
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                    // Code goes here
                }

                // Called when the scroll state changes:
                // SCROLL_STATE_IDLE, SCROLL_STATE_DRAGGING, SCROLL_STATE_SETTLING
                @Override
                public void onPageScrollStateChanged(int state) {
                    // Code goes here
                }
            });
        } else {

            if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                setContentView(R.layout.activity_core);
                super.onCreate(savedInstanceState);

                TextView txtLongtitude = findViewById(R.id.txtLongtitude);
                txtLongtitude.setText("Longtitude : " + longtitude);

                TextView txtLatitude = findViewById(R.id.txtLatitude);
                txtLatitude.setText("Latitude : " + latitude);

                FragmentSun fragmentSun = FragmentSun.newInstance(0, "Page # 1", CoreActivity.getLongtitude(), CoreActivity.getLatitude(), CoreActivity.getRefreshRate());
                MoonFragment moonFragment = MoonFragment.newInstance(0, "Page # 1", CoreActivity.getLongtitude(), CoreActivity.getLatitude(), CoreActivity.getRefreshRate());
                getSupportFragmentManager().beginTransaction().replace(R.id.SunID, fragmentSun).commit();
                getSupportFragmentManager().beginTransaction().replace(R.id.MoonID, moonFragment).commit();

            } else {

                setContentView(R.layout.activity_core);
                super.onCreate(savedInstanceState);

                TextView txtLongtitude = findViewById(R.id.txtLongtitude);
                txtLongtitude.setText("Longtitude : " + longtitude);

                TextView txtLatitude = findViewById(R.id.txtLatitude);
                txtLatitude.setText("Latitude : " + latitude);

                ViewPager vpPager = (ViewPager) findViewById(R.id.vpPager);
                adapterViewPager = new MyPagerAdapter(getSupportFragmentManager());
                vpPager.setAdapter(adapterViewPager);
                vpPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

                    // This method will be invoked when a new page becomes selected.
                    @Override
                    public void onPageSelected(int position) {
                        Toast.makeText(CoreActivity.this,
                                "Selected page position: " + position, Toast.LENGTH_SHORT).show();
                    }

                    // This method will be invoked when the current page is scrolled
                    @Override
                    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                        // Code goes here
                    }

                    // Called when the scroll state changes:
                    // SCROLL_STATE_IDLE, SCROLL_STATE_DRAGGING, SCROLL_STATE_SETTLING
                    @Override
                    public void onPageScrollStateChanged(int state) {
                        // Code goes here
                    }
                });
            }

        }


    }


}



Fragment w którym mają być aktualizowane TextView o wartość "refreshRate"


package com.example.weatherapp;

import android.annotation.SuppressLint;
import android.os.Build;
import android.os.Bundle;

import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.astrocalculator.AstroCalculator;
import com.astrocalculator.AstroDateTime;

import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;


public class FragmentSun extends Fragment {

    private String title;
    private int page;
    double latitude;
    double longtitude;
    int refreshRate;


    public FragmentSun() {
        // Required empty public constructor
    }

    public static FragmentSun newInstance(int page, String title,double latitude,double longtitude, int refreshRate)
        {
            FragmentSun fragmentSun = new FragmentSun();
            Bundle args = new Bundle();
            args.putDouble("longtitude",longtitude);
            args.putDouble("latitude",latitude);
            args.putInt("refreshRate",refreshRate);
            args.putInt("someInt",page);
            args.putString("someTitle",title);
            fragmentSun.setArguments(args);
            return fragmentSun;
        }


    // Store instance variables based on arguments passed
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        page = getArguments().getInt("someInt", 0);
        title = getArguments().getString("someTitle");
        longtitude = getArguments().getDouble("longtitude", 0);
        latitude = getArguments().getDouble("latitude", 0);
        refreshRate = getArguments().getInt("refreshRate", 0);


    }

    @RequiresApi(api = Build.VERSION_CODES.O)
    @SuppressLint("SetTextI18n")
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        DecimalFormat numberFormat = new DecimalFormat("#.00");
        Calendar calendar = Calendar.getInstance();

        AstroCalculator astroCalculator = new AstroCalculator(new AstroDateTime(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH)+1,calendar.get(Calendar.DAY_OF_MONTH),calendar.get(Calendar.HOUR_OF_DAY),
                calendar.get(Calendar.MINUTE),calendar.get(Calendar.SECOND),0,true),new AstroCalculator.Location(latitude,longtitude));

        View view = inflater.inflate(R.layout.fragment_sun, container, false);

        TextView txtSunrisetime = (TextView) view.findViewById(R.id.txtSunriseTime);
        txtSunrisetime.setText(astroCalculator.getSunInfo().getSunrise().toString().substring(0,19));

        TextView txtSunriseAzimuth = (TextView) view.findViewById(R.id.txtSundriseAzimuth);
        txtSunriseAzimuth.setText("Azimuth : "+(numberFormat.format(astroCalculator.getSunInfo().getAzimuthRise())));

        TextView txtSunsetTime = (TextView) view.findViewById(R.id.txtSunsetTime);
        txtSunsetTime.setText(astroCalculator.getSunInfo().getSunset().toString().substring(0,19));

        TextView txtSunsetAzimuth = (TextView) view.findViewById(R.id.txtSunsetAzimuth);
        txtSunsetAzimuth.setText("Azimuth : "+numberFormat.format(astroCalculator.getSunInfo().getAzimuthSet()));

        TextView txtTwilightEvening = (TextView) view.findViewById(R.id.txtTwilightEvening);
        txtTwilightEvening.setText(astroCalculator.getSunInfo().getTwilightEvening().toString().substring(0,19));

        TextView txtTwilightMorning = (TextView) view.findViewById(R.id.txtTwilightMorning);
        txtTwilightMorning.setText(astroCalculator.getSunInfo().getTwilightMorning().toString().substring(0,19));


        return view;
    }

}