interface 介面回撥簡單模板
阿新 • • 發佈:2018-11-26
文章目錄
1、功能簡介
方便在不同類,不同activity之間進行資料傳遞
檔案結構:
Mainactvity 向 Message 裡面傳資料,Message 處理後,通過介面將處理過後的資料返回到 MainActivity
2、MainActivity 檔案
package com.example.ubuntu.myinterface; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity implements Message.MessageChagneCallBackListening { private String TAG = "MainActivity: "; private Message message; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); message = new Message(); //例項化 message 物件 message.setOnMessageChangeListening(this); //傳遞監聽示例物件,結果回撥到這個類裡面的方法 Log.i(TAG,"傳遞原始資料"); message.changeMesaage("Hello word"); //傳遞 資料處理 } @Override public void sendMessage(String msg) { Log.i(TAG , "介面回撥返回結果: " + msg); } }
3、Message 檔案
package com.example.ubuntu.myinterface; import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; public class Message { private String TAG = "Message: "; private MessageChagneCallBackListening messageChagneCallBackListening; public Message(){ } //主要就是 這一點 將例項化的 物件,傳遞進來 public void setOnMessageChangeListening (MessageChagneCallBackListening messageChangeListening ){ this.messageChagneCallBackListening = messageChangeListening; Log.i(TAG,"傳遞監聽的例項化物件: " + messageChangeListening); } public void changeMesaage(String msg){ Log.i(TAG,"傳進來的 msg : " + msg); String msgResult = "資料處理:`````" + msg; Log.i(TAG,"返回的處理結果:" + msgResult); messageChagneCallBackListening.sendMessage(msgResult); } //定義及一個介面用來傳遞資料 介面可以單獨寫在一個檔案裡 interface MessageChagneCallBackListening{ void sendMessage(String msg); } }
4、log 列印
檔案參考:
介面回撥基礎理解
https://blog.csdn.net/qq_39085422/article/details/78453788
JAVA介面回撥詳解
https://blog.csdn.net/hbyh632/article/details/78592242
Java介面回撥一般用法
https://blog.csdn.net/jonsnoww/article/details/68932292