3

我对 Android 中片段的正确逻辑使用有疑问。我知道它旨在用于改善平板电脑体验,但这是否意味着片段通常只能用于此目的?或者使用片段作为自定义复合视图的替代品会是一种糟糕的开发实践吗?

例如,我正在编写一个应用程序来保持计数。生成计分表时,它会为 ScrollView 中的每个玩家创建一个“ScoreCell”,一个自定义复合控件。我想要做的是处理由包含活动激活的内部 OnClickListeners(但不知道如何作为视图):每个 ScoreCell 都有一个用于玩家姓名的 TextView,我想长按 startActivityForResult()弹出一个输入对话框以更改 ScoreCell 的名称。但是看到 OnActivityResult() 的方法在视图中不可用,我将每个 ScoreCell 改为片段是否正确?

这是活动的图片,以帮助理解我需要/感到困惑的逻辑

4

2 回答 2

4

这里有很多问题,让我来梳理一下。

  1. 没有片段不仅仅用于平板电脑体验,通常它们允许您创建更多模块化和适应性强的布局(想想类)。它们在平板电脑布局/景观中非常有用,而且还为您提供可重用的组件。

  2. 同时,片段不是这里的正确选择......使用列表视图要容易得多,再加上自定义单元格布局。无需使用其他活动来显示对话框,只需调用 new Dialog() 和 dialog.show()。只有当用户长时间使用并提供新的“活动”(动作)时,才能将活动用作对话框

于 2013-08-01T19:30:34.967 回答
1

列表中的项目不应该每个都是它们自己的片段,不。您可以在不创建整个 Activity 的情况下弹出一个对话框。查看有关对话框的 AlertDialogs 和 DialogFragments的文档,您可以从中获得结果。

于 2013-08-01T19:25:38.827 回答