当前位置: 首页 > 面试题库 >

Android-标签,MapView,标签内的活动

薛望
2023-03-14
问题内容

我们正在编写包含4个标签的应用程序:地图,人物,地点,事件。应用程序中的人物,地点和事件在地图上显示为图标。默认情况下,“人员”,“位置”和“事件”选项卡分别显示一个自定义呈现的列表视图,分别显示所有“人员”,“位置”和“事件”。

替代文字http://web6.twitpic.com/img/37202700-f92052dc474b74e1760edda1c47f6940.4adcb134-scaled.png

现在,现在每个选项卡都有一个Intent集作为其内容来启动相应的活动。例如,有一个扩展了MapActivity的MapTabActivity,一个向人们展示的ShowPeopleListActivity等等。

我看到了很多的问题/回答说,由于路上的各种限制的TabHost是设置,最好不要使用活动选项卡的内容。例如,不可能启动新活动并将其替换在选项卡内的现有活动,而可以切换出具有不同视图的视图。

现在,我正处于十字路口。我们(不管是好是坏)都花了很多时间来尝试使此应用按照其当前的结构运行,并以“活动”作为选项卡的内容。单击与“人物”,“地点”或“事件”相对应的图标时,它会在与该对象相对应的URI上触发“查看意图”;由活动显示,然后显示对象。地图和单个列表中都使用相同的机制。我们真的很喜欢这为我们提供的松散耦合;我们只要给人/地点/事件提供一个VIEW命令和URI,它就会自动将我们带到正确的活动。当然,启动的活动掩盖了选项卡视图,而不是出现在其中,但是我们愿意接受这一点。

不过,这是一个问题:在“显示”活动中,我们希望能够回到以该人,地点或事件为中心的地图。我们可以启动一个新的活动来再次显示地图,但是现在我们将地图活动作为选项卡的内容,再加上显示活动,以及活动堆栈中的新地图活动。考虑到地图活动需要大量资源,我想这不是理想的选择。

我想我的问题是,有什么好的教程可以确切地显示如何使用TabHost完成复杂的任务吗?我看过HelloTabWidget ;
我正在寻找比这更复杂的东西。我担心,如果我们切换到基于View的工作方式,我们将不得不做大量的内务处理以拦截所有后退事件,尝试切换视图等,以及以我们不想要的方式强烈地耦合我们的程序。

任何关于前进道路的建议将不胜感激。我们是Android的新手,因此我们尝试遵循既定的最佳做法,但是当我们看到的几个示例对于我们的用例而言过于简单时,这是很难的。


问题答案:

我看到很多StackOverflow问题/答案,这些问题/答案是由于TabHost设置方式的各种限制,最好不要将活动用作选项卡的内容。

作为反活动制表联盟(AATA)的自任命主席,这当然是我的立场。

单击与“人物”,“地点”或“事件”相对应的图标时,它将在与该对象相对应的URI上触发“查看意图”;由活动显示,然后显示对象。

请注意,这与将活动作为选项卡的内容无关。

我们可以启动一个新的活动来再次显示地图,但是现在我们将地图活动作为选项卡的内容,再加上显示活动,以及活动堆栈中的新地图活动。考虑到地图活动需要大量资源,我想这不是理想的选择。

如果可能,我会避免使用。

我担心,如果我们切换到基于View的工作方式,我们将不得不做大量的内务处理以拦截所有后退事件,尝试切换视图等,以及以我们不想要的方式强烈地耦合我们的程序。

这与您先前编写的内容完全不符。在使用“视图”作为选项卡的内容与使用“活动”作为选项卡的内容之间,您的“后退事件”将不会改变。此外,这与您描述的“松耦合”模式没有任何关系-
单击选项卡视图中列表中列表中的图标与单击活动中视图中列表中列表中的图标没有什么不同。标签。

只要让您的Show活动告诉您,嗯,主要活动以显示特定位置,然后Show活动就可以finish()。在活动之间不引入硬JVM耦合的情况下,最简单的方法IntentBroadcastReceiver在主活动中广播和注册a
。收到此消息后Intent,主要活动将更新地图并将其设置为当前选项卡。当然,如果您的主要活动使用“视图”作为其选项卡内容,则此方法会更简单。

现在,如果您尝试修改应用程序,以使在选项卡中导航不会启动其他活动,而是将内容保留在其自己的选项卡中……那是整个“鱼群”。



 类似资料:
  • 概述 JSDoc支持两种不同类型的标签: 块标签, 这是在一个JSDoc注释的最高级别。 内联标签, 块标签文本中的标签或说明。 块标签通常会提供有关您的代码的详细信息,如一个函数接受的参数。内联标签通常链接到文件的其他部分,类似于HTML中的锚标记(<a>)。 块标签总是以 at 符号(@)开头。除了JSDoc注释中最后一个块标记,每个块标签后面必须跟一个换行符。 内联标签也以 at 符号(@)

  • 我在这里找到了一些关于使用Android阅读NFC标签的最近帖子。我得到的结论是,执行NFC读取动作会触发一个分离的意图。 那么第一个问题:在我的清单中列出意图过滤器是否必要? 我认为这是没有必要的,因为我不想推出我的应用程序通过NFC标签事件,对吗? 第二个问题:我如何保持我的NFC阅读逻辑/功能与我的app/活动相关? 例如,在iOS中,在VC中需要时有一个简单的NFC会话。

  • 变量输出使用普通标签就足够了,但是要完成其他的控制、循环和判断功能,就需要借助模板引擎的标签库功能了,系统内置标签库的所有标签无需引入标签库即可直接使用。 内置标签主要包括: 标签名 作用 包含属性 include 包含外部模板文件(闭合) file load 导入资源文件(闭合 包括js css import别名) file,href,type,value,basepath volist 循环数

  • 问题内容: 我有一个活动,该活动的TabHost包含一组TabSpec,每个TabSpec都有一个listview,其中包含要由该选项卡显示的项目。创建每个TabSpec时,我设置一个图标以显示在选项卡标题中。 TabSpec是通过以下方法创建的,该方法循环创建适当数量的选项卡: 有几个实例,我希望能够更改程序执行过程中每个选项卡中显示的图标。目前,我正在删除所有选项卡,并再次调用上述代码以重新创

  • 大家好,我在更新一些组件时遇到问题,我正在使用JSF、Primeface 5.3、Hibernate。 我有一个包含数据表的选项卡:选项卡1,我有另一个选项卡选项卡2,我想做的是当我更改选项卡2中的农学列并单击Guardar Cambios时,我想更新选项卡1的数据表。我可以更新数据库,当我注销并再次登录时,更改就在那里,但我想要不注销的更改。 这是我的管理员。xhtml: 我感谢你的帮助。

  • 我试图学习WP小部件创建。在教程网站上,这是发布- 标题 我对这部分感到困惑-for="消息" 这意味着什么“message”只是一个类似的类或ID,将在CSS中设置样式?还是我没有得到正确的信息?