【问题标题】:Software design guidance needed (Android Library Project)需要软件设计指导(Android 库项目)
【发布时间】:2016-12-14 06:01:57
【问题描述】:
  • 我的主 Activity(“MainActivity”)有一个应用程序
  • 我在“Android 项目库”中有一个视图。我想在几个应用程序中使用这个视图,这就是我在库中添加这个视图的原因。
  • 我可以使用我的应用程序中的视图

但现在问题来了。

我想从我的视图中与我的 Apps MainActivity 进行交互。

如果视图将在应用程序中而不是库中,我会简单地调用...

(MainActivity)context.myfunction()

...在我看来。

但在库的情况下,我的视图不知道 MainActivity,因为它超出了项目范围。

如何从我的视图中与放置在库中的 Activity 进行交互?有什么提示吗?

【问题讨论】:

  • 这个问题有什么问题。为什么-2。请争论,你为什么投反对票。
  • 可能是过度标记?这不是一个真正的“设计模式”问题;更多的是“如何解决这个特定的 android 问题”。

标签: android design-patterns shared-libraries


【解决方案1】:

不确定这是否是一个好的解决方案,但我将其发布在这里。它可能会帮助其他人。

我在我的图书馆项目中创建了一个接口:

public interface InteractActivity {
    public void interact(String sCommand, List<Object> objects);
}

我在我的 Activity 上实现了接口:

@Override
    public void interact(String sCommand, List<Object> objects) {
        // TODO Auto-generated method stub
        if(sCommand.equals("mycommand")){
            do something ...
        }
    }

然后我只需从我的视图(在我的库项目中)调用该方法:

((InteractActivity) context).interact("mycommand",myparameters);

【讨论】:

    猜你喜欢
    • 2015-10-22
    • 2011-01-14
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2016-08-20
    • 2013-06-29
    • 2020-09-16
    • 1970-01-01
    相关资源
    最近更新 更多