實現使用接口內部類進行跨類傳值
定義一個普通的java類:
package com.example.shiyan;public class haitao { PRivate static haitao instance; hhCallBack call; private haitao() { //構造方法私有,拒絕通過new關鍵字方式創建類的實例 } public static haitao generate() { //單例模式 if (instance == null) { instance = new haitao(); return instance; } return instance; } public void chuFa(){ //相當于C#中事件觸發 if(call!=null){ call.xianshi("xuhaitao", 35); } } public void bangDing(hhCallBack callBack){ //相當于C#事件的綁定 call=callBack; } public interface hhCallBack { //相當于C#定義一個事件 public void xianshi(String name, int age); }}MainActivity代碼:
package com.example.shiyan;import com.example.shiyan.haitao.hhCallBack;import android.os.Bundle;import android.app.Activity;import android.util.Log;public class MainActivity extends Activity { haitao tt; hhCallBack kkBack = new hhCallBack() { @Override public void xianshi(String name, int age) { Log.i("xuhaitao","hunk xu"); Log.i("xuhaitao",name); Log.i("xuhaitao",age+""); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tt = haitao.generate(); tt.bangDing(kkBack); //綁定具體的方法 tt.chuFa(); }}打印結果: 
FR:海濤高軟(徐海濤)
新聞熱點
疑難解答