Android自定义事件

时间:2012-09-17 16:38:27

标签: java android events interface

我是Android和Java开发的新手,我正在寻求实现一个自定义事件,但是我做了大量的研究并尝试了各种不同的方法,我似乎无法让它工作。

我本质上是在尝试创建一个战斗系统,我已经在.NET中实现但似乎无法在Java中工作,它需要我为DealtDamage,DamageReceived,Died等创建事件。

这将是来自hp,攻击,防御等事物的人物对象的信息。

有人可以提供示例代码,我如何创建这些事件,然后在各种类中执行它们。

e.g。损害处理

user1 atk - user 2 def = totalatk return totalatk

由于

1 个答案:

答案 0 :(得分:2)

如果您尝试从班级生成回调(提升事件):

在生成回调的类中:

public interface EventHappened{
        void callback(int arg1, String arg2);
}

...

ArrayList<EventHappened> eventHappenedObservers = new ArrayList<~>;

...

public void setEventHappenedObserver(EventHappened observer){
     eventHappenedObservers.add(observer);
}

...

if (eventHasHappened){
    for (EventHappened eventHappenedObserver:eventHappenedObservers){
        eventHappendedObserver.callback(event.number,event.toString());
    }
}

...

在消费类中:

instanceOfClassRaisingCallback.setEventHappendedObserver(new EventHappened{
     @Override
     void callBack(int arg1, String arg2){
          doStuffWithArgs(arg1,arg2);
     }
   )};

(从记忆中,为拼写错误和语法错误道歉,但你明白了......我希望)

祝你好运。