今天写下接口的使用,说实话接口想通过一个小Demo来演示还挺难的,不过还是写了一个小Demo,希望能给大家一点帮助,大家举一反三,理解接口的使用场景。以下是Demo:
首先当然是接口:
/**
* Toast接口
*
* @author yuzhentao
*/
public interface ToastListener {
void showToast();
}
接下来要给接口设置回调,这里新建一个类来设置回调,并写一个方法来调用接口的方法,以等待其他类来实现接口的方法:
/**
* 接口使用
*
* @author yuzhentao
*/
public class ToastListenerUser {
private ToastListener toastListener;
public void setToastListener(ToastListener toastListener) {
this.toastListener = toastListener;
}
public void useToastListener() {
toastListener.showToast();
}
}
主界面中去实现接口中未实现的方法,然后点击按钮时就会显示接口中实现的方法的效果,这里是弹出Toast:
/**
* 主界面
*
* @author yuzhentao
*/
public class MainActivity extends Activity {
private ToastListenerUser toastListenerUser;
private int i = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toastListenerUser = new ToastListenerUser();
toastListenerUser.setToastListener(new ToastListener() {
@Override
public void showToast() {
Toast.makeText(MainActivity.this, "回调成功" + i, Toast.LENGTH_SHORT).show();
i++;
}
});
initView();
}
private void initView() {
findViewById(R.id.button_activity_main).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toastListenerUser.useToastListener();
}
});
}
}
最后是效果图: