首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android开发,Google教程

Android开发,Google教程
EN

Stack Overflow用户
提问于 2014-10-16 01:27:09
回答 1查看 55关注 0票数 0

我正在遵循谷歌教程来构建你的第一个android应用程序。我已经到了需要用函数openSearch()和openSettings()实现actionbar操作的地步。

我在MainActivity.java文件中实现了所有这些。

我的问题是:

在示例应用程序中,您可以键入一条消息,然后发送它,然后在第二个活动中显示它。在第二个活动中,顶部操作栏会发生更改,并且在单击“设置”按钮时不会显示我的搜索图标或执行该操作。为了使这些图标也显示在该活动的操作栏中,是否需要在DisplayMessageActivity.java和MainActivity.java中添加这些方法并更新MainActivity.java方法?这是传递操作栏图标/操作的唯一方法吗?要在每个活动中重新键入与您希望它们相同的方法?还是有更好的方法来做呢?

我的另一个有点相关的好奇心就是这个。当我单击3个垂直点,然后单击设置时,将调用openSettings()方法。这三个垂直点显示在每一个活动,设置总是在列表中。但是,单击设置显然不会在DisplayMessageActivity而不是MainActivity中执行对MainActivity()的调用。设置和垂直点是如何结转的?

其次,如何从操作栏中的选项/垂直点向下拉列表中添加其他选择?设置总是存在的,尽管它在每个活动中的响应不同,这是我的第一个问题。但我想在所有活动的选项菜单中添加某些内容,以及某些活动特有的内容。我认为在每个Activity.java文件中肯定有一个比重复switch语句和方法更好的方法。

最后,在多个活动上实现操作栏的最佳实践是什么?

显然,不同的活动在操作栏中通常会有不同的图标/操作,但是有些东西,比如3个垂直点(选项)和设置,在每个活动中都是可以接受的,而将其他东西添加到选项列表中是很好的--我不明白为什么设置应该跨活动更改。然而,正如我在前面所述,除非我重复我添加到DisplayMessageActivity中的DisplayMessageActivity.java代码,否则不会在MainActivity.java中调用该方法。我不知道在哪里可以添加这些内容,这样就可以在所有活动中显示它们,而不必重复代码。我对actionbar的选项/垂直点如何被转移到所有活动感到困惑,而其他的则需要在每个活动的java文件中重复我希望它们出现的代码。

我知道这是个有点冗长的问题,必要时我会澄清的。我只是有点困惑。我能够很好地完成本教程,因为我对java有了很好的理解。然而,谷歌的指南写得不太好,Android环境让初学者非常困惑。

我确实在一定程度上理解了事情是如何运作的,我只是想确保我的应用程序变得越来越复杂时,它不会是一堆不必要的重复语句和方法。

谢谢您的帮助和建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-16 01:39:58

为了使这些图标也显示在该活动的操作栏中,是否需要在DisplayMessageActivity.java和MainActivity.java中添加这些方法并更新MainActivity.java方法?这是传递操作栏图标/操作的唯一方法吗?要在每个活动中重新键入与您希望它们相同的方法?还是有更好的方法来做呢?

这当然是一个解决方案,但你显然知道,这不是一个很好的解决方案。至少有两种备选解决办法:

  1. 创建一个MenuActivity类,它实现公共菜单项的所有逻辑,然后从所有活动中扩展该类,而不是扩展标准的Activity类。
  2. 使用片段来实现UI。片段与活动类似,因为它们从XML布局创建UI元素。一个不同之处是,它们生活在“宿主活动”中。在这种情况下,主机活动将提供公共菜单功能,每个片段可以根据您的需要进一步定制它。

设置和垂直点是如何结转的?

您的DisplayMessageActivity很可能会覆盖onCreateOptionsMenu()并膨胀由Android (或Eclipse?)创建的菜单XML布局。当您创建活动类时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26394799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档