Question

In my messaging app I have multiple contacts with messages . I have a main activity and two fragments, outerFragment and innerFragment.Latest message of each contact I am showing in outerfragment list . On click of each row of outerfragmrnt I am opening innerfragment which contain all message of individual contact.Now when I am deleting latest message from innerfragment than it is deleting but it is not updating in outerfragment.How can I update latest message in outerfragment when I am deleting latest message from innerfragment. How to achieve this in android ?

Was it helpful?

Solution

You can use listeners for this purpose. this can be achieved as follow

create an interface as shown below:

public interface myListener {
    public void updateView(boolean success, Object message);
}

make your OuterFragment implement this listener and override unimplemented methods:

public class OuterFragment extends Fragment implements myListener {

    onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        InnerFragment innerfrag = new InnerFragment();
        innerFrag.setmyListener(this);
    }

    updateView(boolean success, Object message) {
        // your code here
    }

}

create the setmyListener() method in InnerFragment

InnerFragment extends Fragment {

    myListener listener;

    public void setmyListener (myListener listener){
        this.listener = listener
    }

}

make a callback from InnerFragment to outer by calling this method when you want to update the OuterFragment

listener.updateView(success,message);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top