Android中接口的回调,Activity或Fragment与普通类之间的互相调用
2016-09-13 16:19
543 查看
Android中接口的回调,Activity或Fragment与普通类之间的互相调用
废话不多说,你查回调说明你遇到了相同的问题,这里是我根据我的理解做的最简单的回调Demo,Activity与普通类之间的回调,下边有代码,拷过去直接运行
1.创建一个接口
/** 对外提供状态信息的接口 */
public interface InterFace {
public void show();
public String getData(String str);
}
2.在普通类CallBack中定义接口
public InterFace
ife;
3.在普通类CallBack中定义接口对象入住
public void setCallBackListener(InterFace ife){
this.ife
= ife;
}
4.在普通类CallBack中定义一个普通方法,用于调用Activity中的方法
public void showData(){
Log.i("测试","-------11111111111111------");
str = "启迈斯";
//调用接口中的方法,接口中的方法在哪个地方实现,就调用那个方法
// 这里接口是在MainActivity中实现,所以调用MainActivity中的那个接口实现的方法
ife.show();
ife.getData(str);
}
6.在Activity中定义Callback,并实例化
Callbackmy cb= new Callback();
7.创建监听,用于监听是否普通类要调用该方法
cb.setCallBackListener(new
InterFace() {
@Override
public void
show() {
Log.i("测试","接口中的方法show");
//由普通类调用Activity的方法
showMainActivity();
}
@Override
public
String getData(String str) {
Log.i("测试","接口中的方法 "
+ str);
return null;
}
});
8.在Activity创建一个普通方法,供普通类Callbackmy 调用
//这是Activity中的方法,由普通类调用
public void showMainActivity(){
Log.i("测试","这是普通类调用的方法");
}
9.这里逻辑已经完成,详情看DEMO
这是接口
/**
* Created by lenovo on 2016/9/13.
*/
public interface InterFace {
public void show();
public String getData(String str);
}
代码是可以运行的,直接拷过去运行就行了
废话不多说,你查回调说明你遇到了相同的问题,这里是我根据我的理解做的最简单的回调Demo,Activity与普通类之间的回调,下边有代码,拷过去直接运行
1.创建一个接口
/** 对外提供状态信息的接口 */
public interface InterFace {
public void show();
public String getData(String str);
}
2.在普通类CallBack中定义接口
public InterFace
ife;
3.在普通类CallBack中定义接口对象入住
public void setCallBackListener(InterFace ife){
this.ife
= ife;
}
4.在普通类CallBack中定义一个普通方法,用于调用Activity中的方法
public void showData(){
Log.i("测试","-------11111111111111------");
str = "启迈斯";
//调用接口中的方法,接口中的方法在哪个地方实现,就调用那个方法
// 这里接口是在MainActivity中实现,所以调用MainActivity中的那个接口实现的方法
ife.show();
ife.getData(str);
}
6.在Activity中定义Callback,并实例化
Callbackmy cb= new Callback();
7.创建监听,用于监听是否普通类要调用该方法
cb.setCallBackListener(new
InterFace() {
@Override
public void
show() {
Log.i("测试","接口中的方法show");
//由普通类调用Activity的方法
showMainActivity();
}
@Override
public
String getData(String str) {
Log.i("测试","接口中的方法 "
+ str);
return null;
}
});
8.在Activity创建一个普通方法,供普通类Callbackmy 调用
//这是Activity中的方法,由普通类调用
public void showMainActivity(){
Log.i("测试","这是普通类调用的方法");
}
9.这里逻辑已经完成,详情看DEMO
下边是代码
一这是接口
/**
* Created by lenovo on 2016/9/13.
*/
public interface InterFace {
public void show();
public String getData(String str);
}
二 这是一个普通类
import android.util.Log; /** * Created by lenovo on 2016/9/13. */ public class Callback{ public InterFace ife; //用于向Activity传递的参数 String str; //定义接口入住对象 public void setCallBackListener(InterFace ife){ this.ife = ife; } /** * Activity 中调用这个方法,实现Activity调用普通类方法 */ public void showData(){ Log.i("测试","这里是有Activity调用"); str = "启迈斯"; //调用接口中的方法,接口中的方法在哪个地方实现,就调用那个方法 // 这里是在MainActivity中,所以调用MainActivity中的那个接口实现的方法 ife.show(); ife.getData(str); } }
三 这是MainActivity
import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity{ Callback cb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); cb = new Callback(); cb.setCallBackListener(new InterFace() { @Override public void show() { Log.i("测试","接口中的方法show"); //由普通类调用Activity的方法 showMainActivity(); } @Override public String getData(String str) { Log.i("测试","这是由普通类传过来的值 " + str); return null; } }); cb.showData(); //调用普通类中的方法 setContentView(R.layout.activity_main); } //这是Activity中的方法,由普通类调用 public void showMainActivity(){ Log.i("测试","这是普通类调用的方法"); } }
代码是可以运行的,直接拷过去运行就行了
相关文章推荐
- Android系列之Fragment(三)----Fragment和Activity之间的通信(含接口回调)
- Android中Fragment和Activity之间的通信(含接口回调)
- 回调接口实现Activity与Fragment之间的通信
- Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法详解
- Android中Adapter适配器使用接口回调方法调用Activity数据
- ANDROID安卓activity与fragment,activity之间互相传值(一)
- android-如何通过接口回调来解决Fragment之间的交互
- Fragment与Activity之间的通讯(解决Android中Fragment调用startactivityforresult不能返)
- Fragment与Activity之间的传值和接口回调
- Fragment跟Activity之间的通信(互相调用方法)
- android使用接口回调把fragment把值传回到Activity
- Android Activity/Service/Broadcaster三大组件之间互相调用
- Android Activity/Service/Broadcaster三大组件之间互相调用
- Android Activity/Service/Broadcaster三大组件之间互相调用
- Android Activity/Service/Broadcaster三大组件之间互相调用
- Fragment和Activity之间的通信(含接口回调)
- Android中Recyclerview使用7----条目中按钮点击事件,在activity中调用(接口回调)
- Fragment 的静态方式和动态方式以及动态方式中fragment之间通过activity传递 数据(接口回调 ):
- Android 使用回调.activity调用fragment中的数据
- android-如何通过接口回调来解决Fragment之间的交互