在安卓开发之中通常需要使用页面的传值,而这种获得数值的途径通常可以通过接口回调和广播去完成,亦或使用快速开发框架eventbus等等。
今天介绍一下接口回调的使用方法。
第一步我们需要去定义一个接口去方便我们来进行回调获得数据,如下所示:
首先声明一个接口:
package com.interfacedemo;
/**
* Created by Admin on 2015/12/13.
*/
public interface MyInterFace {
public void getValue(String value);//获得回调值的接口方法
public void toastValue(); //得知方法走到接口回调处的接口方法
}
第二步写一个类去用这个接口,并进行接口回调:
package com.interfacedemo;
/**
* Created by Admin on 2015/12/13.
*/
public class InterFaceDemo {
private MyInterFace myInterFace;//1.声明接口
public void setMyInterFace(MyInterFace myInterFace) { //2.给接口设置set方法
this.myInterFace = myInterFace;
}
![这里写图片描述](http://img.blog.csdn.net/20151213181624203)
public void getValueDemo(){
String value="25";
myInterFace.getValue(value);//自己方法执行完后最后到达回调处,传值为25
myInterFace.toastValue();
}
}
第三步也就是最后一步我们就可以进行数据的回调获得数值了:
package com.interfacedemo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements MyInterFace{
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.textView);
InterFaceDemo interFaceDemo=new InterFaceDemo();//声明对象
interFaceDemo.setMyInterFace(this);//给声明出的对象设置接口
interFaceDemo.getValueDemo();//方法执行完后走到接口回调处便能将值传出
}
@Override
public void getValue(String value) {
textView.setText(value);
}
@Override
public void toastValue() {
Toast.makeText(getApplicationContext(),"看到值了",Toast.LENGTH_LONG).show();
}
}
最后结果如图: