2013-08-01 65 views
3

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

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

+1

我认为这一形象说,大部分的碎片是如何打算要使用的。 http://developer.android.com/images/fundamentals/fragments.png。有时候只有一个片段的活动是完全合理的。 –

+1

不要让评分单元成为片段。就名称更改而言,为此目的使用“DialogFragment”。 –

回答

4

这里有很多问题,让我来看看它们。

  1. 无片段并不意味着只是平板电脑的经验,一般来说,他们允许您创建更加模块化和适应性布局(思班)。他们对平板电脑布局/景观非常有帮助,但也为您提供可重复使用的组件。

  2. 同时,在这里一个片段不是正确的选择...使用listview,加上自定义的单元格布局更容易。而不是使用另一个活动来显示对话框,只需调用新的Dialog()和dialog.show()。活动只应作为一个对话框,它是否会被用来通过用户的很长一段时间,并提供了一个新的“活动”(动作)

1

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

+0

这非常清楚的事情,非常感谢你! – cjbrooks12