回调

公共接口类:
public interface Test {
    void success();

    void fail();
}


服务端类(监听别人的类):(接口实例,监听方法,客户端要达到的要求时(用户按下按钮等等performclick,这里我用
kehuduanmanzudetiaojian()来表示)服务端要干嘛或者根据用户返回的数据来决定服务端要干嘛,并在其中 调用(不是实现
,实现在客户端中实现)接口的方法)
public class ServiceTest { Test mTestlistener; public void setListener(Test testlistener) { this. mTestlistener = testlistener; } public void kehuduanyaomanzudetiaojian( boolean success) { if (success) { mTestlistener.success(); } else { mTestlistener.fail(); } }}


被监听的一个类(客户端类): 实现监听器的注册(也就是调用服务类的实例的setListener方法,并在其中 重写公共接口中的
回调方法),满足服务端的条件(实现按下逻辑啥的等等)
public class MainActivity extends AppCompatActivity {
    ServiceTest test;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        test.setListener(new Test() {
            @Override
            public void success() {

            }

            @Override
            public void fail() {

            }
        });
  ***********************************这一步很重要,实现服务端的条件,整个回调流程才算完成
      test.kehuduanyaomanzudetiaojian(true);  *****
    }
}

猜你喜欢

转载自blog.csdn.net/emmmsuperdan/article/details/80856296
今日推荐