我对 Android 中 fragment 的正确逻辑使用有疑问。我知道它旨在用于改善平板电脑体验,但这是否意味着 fragment 通常只能用于此目的?或者使用 fragment 代替自定义复合 View 是否是糟糕的开发实践?
例如,我正在编写一个应用程序来记录计数。生成得分表时,它会为 ScrollView 中的每个玩家创建一个“ScoreCell”,一个自定义复合控件。我想做的(但看不到作为 View 的方式)是处理由包含 Activity 激活的内部 OnClickListeners:每个 ScoreCell 都有一个 TextView 作为玩家的名字,我想长按它以启动 ActivityForResult()弹出一个输入对话框以更改 ScoreCell 的名称。但是鉴于 OnActivityResult() 的方法在 View 中不可用,我将每个 ScoreCell 设为 fragment 是否正确?
Here is a picture of the activity to help understand the logic of what I need/am confused about
最佳答案
这里有很多问题,让我来解释一下。
No fragments 不仅仅适用于平板电脑体验,通常它们允许您创建更多模块化和适应性强的布局(想想类)。它们在平板电脑布局/横向方面非常有用,而且还为您提供了可重用的组件。
同时, fragment 在这里不是正确的选择...使用 ListView 和自定义单元格布局要容易得多。无需使用其他 Activity 来显示对话框,只需调用 new Dialog() 和 dialog.show()。如果一个 Activity 将被用户长时间使用并提供一个新的“Activity ”( Action ),那么它应该只被用作对话框
关于安卓 fragment 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18002697/