2011-11-21 68 views
0

我可能在这里错了,应该考虑事件/发布订阅者,如果有的话,请赐教。Java回调式/事件方法?

我有一个android项目正在运行,我有一个布局,它充当屏幕上的菜单。使用'< include>'在多个活动/“父视图”中实施。很好地工作。

现在,一些功能是通用的和全局的。就像我有一个“添加”按钮,它做什么,它应该总是这样做。然后,我希望可以根据行动发生的地点来定制它的功能。

我在一个简单的java类中分离了menulogic,构造函数以一个活动作为参数。从这里,我可以将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方法中,这可以从点击监听器中触发?

回答