Java Callback-like / event方法?

时间:2011-11-21 11:56:11

标签: java android events

我可能在这里走错路,应该考虑事件/发布订阅者,如果有,请赐教。

我有一个运行的android项目,我有一个布局作为屏幕菜单。使用'<实现了几个活动/“父视图”。包括>”。工作得很好。

现在,一些功能是通用的和全局的。就像我有一个“添加”按钮,它做了一些事情,它应该总是这样做。然后我希望能够根据动作产生的活动来定制除此之外的功能。

我在一个简单的java类中分离了menulogic,构造函数将一个activity作为参数。从这里开始,我可以将clicklisteners附加到菜单中的按钮上,点击即可。

我想要的是:

private void addBtn(String text, String path) {
        LinearLayout ll = (LinearLayout) parentActivity.findViewById(R.id.dynamicButtonLayout);
        Button newButton = new Button(parentActivity);
        newButton.setText(text);
        newButton.setTag(path);
        newButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    //Do Stuff.
                    fireDoneHandlingButtonClick();
                } catch (Exception e) {
                }
            }
        });
    }

然后在父活动中有一种处理此方法的方法。我应该考虑事件,还是应该考虑将一个方法作为参数添加到活动的addBtn方法中,这可以从click-listener内部触发?