相信大家刚接触安卓的时候对接口回调很陌生,看网上的一些博客也是云里雾里,但是请你往下看,相信很快就能上手了。废话不多说,本博主教你们写接口回调的三部曲:
一.接口回调当然要写接口了:定义一个接口:
package utins;
public interface VuleCalBack {
public void finsh(String data);
}
以上的代码,你把它放到专门放接口的包里也行
二.接口回调的作用是传递数据,那当然就需要传数据的类(这个类是需要传递数据的类):
static String strData = “回调222222”;//这是要传的数据
static VuleCalBack calback;
public static void SetCalBack(VuleCalBack calback){
if(calback!=null){
calback.finsh(strData);
}
}
以上的代码,你把它放到需要传递数据的类里就可以了
三.接口回调,还需要接收数据的类(以下的代码,你把它放到接收数据的类里就可以了):
这个类里有三种写法:
1.第一种:
public class SendActivity extends Activity {
private TextView tv;
utins.VuleCalBack calback = new utins.VuleCalBack() {
@Override
public void finsh(String data) {
tv.setText(data);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send);
tv = (TextView) findViewById(R.id.tv_1);
MainActivity.SetCalBack(calback);
}
}
2.第二种:
public class SendActivity extends Activity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send);
tv = (TextView) findViewById(R.id.tv_1);
MainActivity.SetCalBack(new VuleCalBack() {
@Override
public void finsh(String data) {
tv.setText(data);
}
});
}
}
3.第三种:
public class SendActivity extends Activity implements VuleCalBack{
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send);
tv = (TextView) findViewById(R.id.tv_1);
MainActivity.SetCalBack(this);
}
@Override
public void finsh(String data) {
tv.setText(data);
}
}
是不是很简单?
转发博客,请注明出处
本人个人项目地址:百度搜索安卓应用—-点击进入百度应用市场—搜索”电话老人版”.