公共接口类: 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); ***** } }