我不明白如何组织我的片段

I don't understand how to organise my fragments

我实现了一个NFCreader应用

所以我有 3 个活动:

MainActivity,它是一个包含 Button 的 activity。如果单击按钮,扫描将被激活,用户可以将他的 NFC 标签贴在设备上以检测它。

WebActivity,如果NFC标签包含和URL(并打开一个WebView)或者用户想自己启动WebActivity

HistoryActivity,它将包含每次扫描的列表。

现在,我想用手势滑动 activity。根据我在互联网上的研究。我需要片段和 ViewPager。

但我看到的每个例子都是基于一个 activity 和多个片段。

但在我的例子中,我必须创建 3 个片段(每个 activity 一个),对吗?

而且我真的不知道如何管理我的片段。我的意思是,里面放什么?

我只想在更改 activity 的同时创建一个 transition/animation...这太疯狂了

这个问题太宽泛了,但希望我的回答能为您指明正确的方向。

  1. 您绝对应该使用单个 activity/multiple 片段模型。除了 Google 的建议,您可以使用导航组件,深度链接比没有单个 activity.
  2. 更容易
  3. 是的,您应该为此目的使用 ViewPager(可能还有您对 FragmentPagerAdapter 的实现),但是我不明白您将进行何种滑动

阅读您的设置,我建议使用底部视图和 2 个项目(这里是很好的例子 https://github.com/android/architecture-components-samples/tree/master/NavigationAdvancedSample/app/src/main/java/com/example/android/navigationadvancedsample)。第二个会显示历史记录,第一个会提供一个按钮来激活您的操作,然后使用您的 WebView 显示片段。

作为这种实现的副作用,您可以从第二个底部视图项目返回到第一个视图项目 - 通过按系统后退按钮 - 我认为这是很好的触摸。

更新到 "swiping takes place anytime. " 评论:

您可以有一个 activity,带有 2 个片段的 ViewPager。第一个片段将显示一个按钮,第二个片段将显示一个历史记录。您可以根据需要在它们之间自由滑动。但是对我来说,将 WebView 屏幕放入其中没有意义。 WebView 屏幕是操作的结果(NFC 检测),它可能应该显示为全屏,没有任何机会在 main/history 和它自己之间滑动。希望对您有所帮助,否则我遗漏了一些您没有分享的重要信息。