当前位置:操作系统 > 安卓/Android >>

android中的回调举例:在su易做图ceview中结束宿主activity

背景
Su易做图ceView是游戏开发中经常使用到的View,能够实时的更新UI界面,实现游戏逻辑。在这里的讨论中,我设定了一个GameActivity , 在这个activity的布局中,放置了一个全屏的GameSu易做图ceView。GameActivity虽然是游戏的主体,但游戏的逻辑和显示都是由GameSu易做图ceView负责。游戏开始后,GameSu易做图ceView在新开的线程中运行,并即时的更新游戏界面。
当游戏逻辑结束时,需要结束掉activity,以使得activity stack顺序清晰。特别是在2.2系统下,不能一次性关闭app,只能每次都关闭掉各个acticity。

实现
如何在GameSu易做图ceView中结束掉这个activity呢?
增加回调接口,在GameSu易做图ceView中实现回调!
关于回调的介绍: callback。
1,设定一个回调接口
 
public inte易做图ce OnEndOfGameInte易做图ce { 
    public void onEndOfGame(); 
     

在GameActivity中实现这个接口。
 
public class GameActivity extends Activity implements OnEndOfGameInte易做图ce   { 
//.... 
@Override 
    public void onEndOfGame() {      
        this.finish(); 
    } 

在GameSu易做图ceView中定义回调类型的成员。 并定义一个public method 用来设置回调成员为GameActivity。
 
protected OnEndOfGameInte易做图ce mOnEndOfGame ; //callback inte易做图ce 
 
public void setOnEndOfGame(OnEndOfGameInte易做图ce xOnEndOfGame){ 
        mOnEndOfGame = xOnEndOfGame; 
    } 
     

GameActivity中,开启GameSu易做图ceView的同时,必须调用setOnEndOfGame方法,设定好回调。
view plain
mGameSu易做图ceView = (ReverseGameSu易做图ceView) findViewById(R.id.reverse_game_su易做图ce_view); 
            mGameSu易做图ceView.setOnEndOfGame(this);  //传入this,设定自己为回调目标 
            mGameSu易做图ceView.setMode(GameBasicSu易做图ceView.RUNNING); 

如此,当GameSu易做图ceView结束时,就可以调用onEndOfGame方法,实现回调了!

摘自:BIAOBIAOqi的小巢

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,