您的位置:首页 > 移动开发 > Android开发

android 接口回调---java 接口回调(一看就会)

2017-04-14 16:50 495 查看
转载注意说明出处O(∩_∩)O~
//baseapplication
public class BaseApplication extends Application {JieKou jieKou = null;int time=0;@Overridepublic void onCreate() {super.onCreate();new Thread() {@Overridepublic void run() {//开一个新线程计时super.run();try {/***2017/4/14 16:20*Created by jiangchen*作用:一致循环发送数据,每隔一秒计时加 1*/while (true) {sleep(1000);time++;if (jieKou!=null){jieKou.jiekouMethod(time+"");}}} catch (InterruptedException e) {e.printStackTrace();}}}.start();}/*** 2017/4/14 16:20* Created by jiangchen* 作用:设置接口实例,接口需要一个实例来调用方法,而这个实例要从外面传进来* 谁实现了这个接口,谁就拥有这个实例*/public void setJieKouShiLi(JieKou jieKouShiLi) {//jieKou---这里面的实例;jieKouShiLi---外面实现这个接口传过来的实例jieKou=jieKouShiLi;}
}//主Activitypublic class MainActivity extends AppCompatActivity implements JieKou {private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) findViewById(R.id.tv);/***2017/4/14 16:29*Created by jiangchen*作用:因为baseapplication里面需要一个实例,所以要将我们这里实现的实例传过去*///这样获取baseapplication实例BaseApplication baseApplication;baseApplication = (BaseApplication) getApplication();// 然后用过baseapplication里面的setJieKouShiLi()方法将接口实例传过去baseApplication.setJieKouShiLi(this);}/*** 2017/4/14 16:29* Created by jiangchen* 作用:在这里实现的,但是调用是在baseapplication里面完成的*/@Overridepublic void jiekouMethod(final String str) {//那个调用的方法就把这个str传过来啦 O(∩_∩)O~~~runOnUiThread(new Runnable() {@Overridepublic void run() {//子线程不能刷新UI,只能这样将就一下啦tv.setText(str);}});}}//接口public interface JieKou {void jiekouMethod(String str);}<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.vkeline.jiekouhuidiao"><!--这里的application的name属性要改成自己写的那个的!!!!!!!!!--><applicationandroid:name=".BaseApplication"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息