You can use callback's to talk between activity and Fragment's.
Here's how
create a interface eg: ITalkToActivity
public interface ITalkToActivity{
int getMyDataSize();
}
Implement the above in your activity, your activity should return the size of myData list.
@Override
public int getMyDataSize(){
return mydata.size();
}
private startYourFragment(){
Fragment yourFragment = YourFragment(this) //setting listener i.e ITalkToActivity for fragment
supportFragmentManager.beginTransaction().replace(R.id.root, yourFragment, "YOUR_FRAGMENT").commit()
supportFragmentManager.executePendingTransactions()
}
Your Fragment Constructor should save the instance of ITalkToActivity in a global variable and access it wherever needed.
public class YourFragment extends Fragment{
private ITalkToActivity iTalkToActivity;
YourFragment(ITalkToActivity iTalkToActivity){
this.iTalkToActivity=iTalkToActivity
}
private void yourFunction(){
int dataSize = iTalkToActivity.getMyDatatSize();
}
}