實(shí)現(xiàn)使用接口內(nèi)部類進(jìn)行跨類傳值
定義一個(gè)普通的java類:
package com.example.shiyan;public class haitao { PRivate static haitao instance; hhCallBack call; private haitao() { //構(gòu)造方法私有,拒絕通過(guò)new關(guān)鍵字方式創(chuàng)建類的實(shí)例 } public static haitao generate() { //單例模式 if (instance == null) { instance = new haitao(); return instance; } return instance; } public void chuFa(){ //相當(dāng)于C#中事件觸發(fā) if(call!=null){ call.xianshi("xuhaitao", 35); } } public void bangDing(hhCallBack callBack){ //相當(dāng)于C#事件的綁定 call=callBack; } public interface hhCallBack { //相當(dāng)于C#定義一個(gè)事件 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(); }}打印結(jié)果: 
FR:海濤高軟(徐海濤)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注