androidr的 界面或者UI间 回传数据

本文阐述了在Android应用中使用接口实现Fragment间的通信,具体介绍了如何在第一个Fragment中通过接口获取第二个Fragment处理后的数据。同时,文章还讨论了接口在多Fragment场景中的灵活应用,包括不同Fragment对同一接口的不同实现,以及如何避免广播带来的系统负担。


思路是网上的大牛给提出来的,但是没有具体的实现。

出处:  http://bbs.youkuaiyun.com/topics/390389303


android fragment 启动另一个fragment,我怎么在第一个fragment中得到第二个 fragment回传的数据呢


androidr的开发者最喜欢使用广播进行界面或者UI间传数据,这种做法虽然实现简 单,但是是一个非常山炮的方法.
  在Activity传数据,我们可以使用Intent在onResultActivity获取,而在类与类 之间的传数据,我们可以使用接口.
而Fragment可以在A->B中,给B传一个接口,而接口的实现在A中实现,这样B处理完 后,调用A传来的接口就可以实现数据回传.
请LZ不要使用广播,如果这些地方都使用广播,整个系统都会被广播覆盖.


下面是我的理解和实现:


参考方法如下;


public class SelectUserFragmentextends DialogFragment {

  @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = LayoutInflater.from(getActivity()).inflate(R.layout.select_user_fragment, null);
        mListView = (ListView) view.findViewById(R.id.user_listview);
        View footView = LayoutInflater.from(getActivity()).inflate(R.layout.select_user_footer,
                null);
        footView.setOnClickListener(OnClickListener);
        mListView.addFooterView(footView);
.....

        return view;
    }

 View.OnClickListener OnClickListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
       
                    if (isChanged) {
                        mMyApplication.getDataSource().setPackageUsers(selectedUserLists);
                        if (mOperationListener != null) {
                            mOperationListener.onOperationClicked();
                        }

                    }
                
    };


  public void setOperationListener(OperationListener listener) {
        mOperationListener = listener;
    }


 public interface OperationListener {
        public void onOperationClicked();
    }

}




public class FragmentDiet extends Fragment implements OperationListener {

 fragment.setOperationListener(FragmentDiet.this);


  @Override
    public void onOperationClicked() {
        showUserInfo();
        showCategories();
    }

}



按照我的理解做如下总结:

情景如下:

我们先生成一个界面或者类叫做A,由A跳转到一个类或者界面,我们叫做B。即是A -->B

我们在B上进行了某些操作之后,希望A来相应B的操作,来做一些事情。

对应方法如下;

我们在B中定义一个接口,但是在B中不实现它,在A中实现这个接口。当然在B中还要保存一个接口的实例对象,这个实例对象在A中进行初始化。在B中进行操作的时候,我们用B中这个实例对象,调用该接口中定义的方法,我们了解接口和继承的应该就会知道,这个时候,它实际调用的即是A中对这个方法的实现。

不知道讲明白了没...呵呵呵...



同样,我们可以继续发散。。。。


比如我们还有个C,D,E等等。这个CDE和A一样,有一个到B界面的跳转,在B界面上进行操作的时候,这些CDE要做不同的相应。

这个时候,我们就可以CDE等,分别实现B中的这个接口,来自定义自己的实现方法....

这样在B中,我只要调用接口对象的方法就行了,不需要管这个方法的具体实现是由谁来完成的(A,CDE等等)

“一个接口,多种方法”,这就是传说中的多态吧~~我是这样理解的~~



内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号的命令差异。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值