I'm trying to implement a listenner in a fragment that allows me to know if data change inside the parent activity.
Inside MainActiivty, i added those lines of code:
public ListenFromActivity activityListener;
public void setActivityListener(ListenFromActivity activityListener) {
this.activityListener = activityListener;
}
Then i added those line inside onCreate methode in the MainActivity:
ConnectFragment connectFragment =new ConnectFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame,connectFragment ).commit();
// this for is used to change data for testing
for(int i=0; i<5;i++){
activityListener.doSomethingInFragment(1+"");
}
In ConnectFragment,I added implemented my interface first :
public class ConnectFragment extends Fragment implements ListenFromActivity
Then inside onCreate methode i added those line :
((HomeActivity) getActivity()).setActivityListener(ConnectFragment.this);
And then i impelemnted the methode in my interace
@Override
public void doSomethingInFragment(String str) {
System.out.println(" listener from connectFragment "+ str);
}
Finaly this is my interface :
public interface ListenFromActivity {
void doSomethingInFragment(String str);
}