java在多个活动和片段中使用相同的微调器。实施它的最佳方式是什么?
假设我有一个10个国家(字符串)的旋转视图。 我想在多个活动、片段、警报对话框等中使用此微调器
我怎样才能高效地完成并节省代码行?哪种方式最好
我首先想到的是创建一个类来创建微调器并扩展微调器小部件类。然后创建对象等。然而,作为乞丐,这看起来有点复杂,有没有更简单的方法
编辑: 微调器仅动态创建。默认情况下,它有10个条目,但会根据数据库条目逐渐填充
你可以在下面搜索框中键入要查询的问题!
假设我有一个10个国家(字符串)的旋转视图。 我想在多个活动、片段、警报对话框等中使用此微调器
我怎样才能高效地完成并节省代码行?哪种方式最好
我首先想到的是创建一个类来创建微调器并扩展微调器小部件类。然后创建对象等。然而,作为乞丐,这看起来有点复杂,有没有更简单的方法
编辑: 微调器仅动态创建。默认情况下,它有10个条目,但会根据数据库条目逐渐填充
# 1 楼答案
扩展微调器类本身
您可以在构造函数内初始化适配器,使用
AsyncTask
动态加载数据库条目,并使用onAttachedToWindow
和onDetachedFromWindow
管理资源使用我通常在遇到类似问题时这样做,它很方便,易于开发和使用
# 2 楼答案
在填充微调器的任何类中创建一个公共静态方法(但可能是一个直观的查找*)。它可以将上下文、数据库等以及微调器本身作为输入。然后,您可以从任何片段或活动调用相同的方法,并始终得到相同的结果。只需创建布局(例如使用
setContentView
),从布局中获取对微调器的引用,并将其传递给populater方法例如:
我想您也可以扩展Spinner类,但我的偏好是避免将数据直接编码到小部件中。这将打破模型-视图-控制器的设计模式
*我有时只是创建一个名为Util的类,在其中我放置了这样方便的静态方法。或者,如果你有一个数据库助手类,那可能是一个直观的地方
# 3 楼答案
您可以为此创建一个单独的布局文件,并且该文件中只有微调器
无论你在哪里需要它,你都可以把它包括在你的布局中,比如