由于这里涉及到接口回调的问题,所以先来看一看什么是接口回调: 这就好比老板和员工的微妙关系,老板需要员工去工作,员工挣钱了以后还要告诉老板自己挣了多少钱,然后由老板来处理这些钱。 首先创建一个接口: package com.fitsoft; public interface CallBack { void collectMoney(String name, int money); } 由于员工挣完钱了以后,钱由老板来处理,因此接口也是由老板来实现 创建老板类: package com.fitsoft; /** * @author Joker * @since 2019/9/20 0020 18:49 */ public class Boss implements CallBack { void makeMoney(){ String name = "小三"; System.out.println(name+"快去工作!"); Staff staff = new Staff(name, this); staff.doWork(); } public void collectMoney(String name, int money) { System.out.println(name+"帮我挣了"+money+"元"); } } 这里有两个方法,一个是叫员工去赚钱,在makeMoney()方法中创建一个员工,让员工去doWork(),另一个是员工赚完钱以后回调给老板,由老板来打印输出(花钱)。 看一看员工类: package com.fitsoft; /** * @author Joker * @since 2019/9/20 0020 18:35 */ class Staff { private String myName; private CallBack callBack; Staff(String name, CallBack callBack){ this.myName = name; this.callBack = callBack; } void doWork(){ System.out.println(myName + " make money ing..."); callBack.collectMoney(myName, 500); } } 在构造函数中初始化名字和接口,在doWork()方法中(由老板来调用的方法),输出我正在赚钱,赚完钱之后,执行老板的collectMoney()方法,告诉老板:这钱是我给你的,你可以收了,然后老板就执行了: public void collectMoney(String name, int money) { System.out.println(name+"帮我挣了"+money+"元"); } 总的流程大致是这样,接下来创建测试类: package com.fitsoft; /** * @author Joker * @since 2019/9/20 0020 18:47 */ public class Test { @org.junit.Test public void test(){ new Boss().makeMoney(); } } 直接调用老板类中的赚钱方法(赚钱是不可能赚钱的,这辈子都不可能去赚钱的,只有让员工去赚钱这样子才能维持生活...)。 看一看输出: 小三快去工作! 小三 make money ing... 小三帮我挣了500元 以上大致是接口回调的内容,接下来才是主题:Fragment 首先创建布局activity_main.xml: