简体   繁体   English

片段数据是否从另一个片段更新?

[英]fragment data update from another fragment?

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 . 我有一个主要活动和两个片段, outerFragmentinnerFragment 。我在outerfragment列表中显示的每个联系人的最新消息。 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 . 在单击outerfragmrnt的每一行时,我正在打开包含单个innerfragment所有消息的innerfragment 。现在当我从innerfragment删除最新消息时,它正在删除但不在outerfragment更新。当我在outerfragmentouterfragment更新最新消息我正在从innerfragment删除最新消息。 How to achieve this in android ? 如何在android中实现呢?

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: 使您的OuterFragment实现此侦听器并覆盖未实现的方法:

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 setmyListener()创建setmyListener()方法

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 当您要更新OuterFragment时,通过调用此方法从InnerFragmentInnerFragment进行回调

listener.updateView(success,message);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM