其他分享
首页 > 其他分享> > android – 片段之间的通信

android – 片段之间的通信

作者:互联网

我有默认的Master-Detail流程,它是在创建新项目时自动创建的.我的问题是.当我向细节侧添加按钮时.有没有办法按下按钮更新我的列表?换句话说,ItemDetailFragment和ItemListFragment可以通信吗?

解决方法:

是的,只需通过活动与听众进行沟通.

你的活动:

public class MyActivity extends FragmentActivity implements OnFragmentClickListener {
    @Override
    public void OnFragmentClick(int action, Object object) {
        switch(action) {
        }
    }
}

监听器类:

    public interface OnFragmentClickListener {
        public void OnFragmentClick(int action, Object object);
    }

然后,您的片段将在代码中的某个位置跟随以实现接口:

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mListener = (OnFragmentClickListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString() + " must implement listeners!");
        }
    }

然后你的碎片就像这样相互沟通:fragmentA – >活动 – > fragmentB.您的活动可以直接在片段上调用方法,而无需担心同步问题.

来自片段a的调用示例:

mListener.OnFragmentClick(GLOBAL_ACTION_KEY someObject);

活动然后处理:

public class MyActivity extends FragmentActivity implements OnFragmentClickListener {
    @Override
    public void OnFragmentClick(int action, Object object) {
        switch(action) {
            case GLOBAL_ACTION_KEY:
                // you call fragmentB.someMethod();
                break;
        }
    }
}

标签:android-listfragment,android,android-fragments,android-fragmentactivity
来源: https://codeday.me/bug/20190826/1726187.html