Android 在非活动类中声明要在片段中使用的数组适配器

Android 在非活动类中声明要在片段中使用的数组适配器,android,android-arrayadapter,android-dialogfragment,Android,Android Arrayadapter,Android Dialogfragment,这就是我的问题。我正在使用一个对话框片段来显示一些信息。在该片段中,我有一个由数组列表填充的微调器视图。通常我在片段中创建适配器,如下所示: ArrayAdapter<String> teamsAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, Variables.teamNames); teamsAdapter.setDropDownVie

这就是我的问题。我正在使用一个对话框片段来显示一些信息。在该片段中,我有一个由数组列表填充的微调器视图。通常我在片段中创建适配器,如下所示:

ArrayAdapter<String> teamsAdapter = new ArrayAdapter<String>(getActivity(),  
android.R.layout.simple_spinner_item, Variables.teamNames); 

teamsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       Variables.spinner.setAdapter(teamsAdapter);
ArrayAdapter<String> teamsAdapter = Variables.getAdapterForTeams(getActivity());
ArrayAdapter teamsAdapter=新的ArrayAdapter(getActivity(),
android.R.layout.simple\u微调器(项目、变量、团队名称);
teamsAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
Variables.spinner.setAdapter(teamsAdapter);
Variables是我的用户定义类,我在其中保存所有变量。 现在是我的问题。我有大约10个片段,几乎所有的片段都有旋转器。我想在我的Variables类中定义这个适配器,每当我需要它时,我就从Variables类中调用它。不幸的是,我需要在适配器构造函数中使用getActivity()。我绕不过去

顺便问一下,这是一个好主意还是我应该使用界面?
如果有人能告诉我为什么要在android中使用java接口,那就太棒了。

您的片段仍然需要调用一些变量方法来检索微调器并将其添加到布局中,对吗?因此,在执行该调用时,可以将活动作为上下文传递,如下所示:

ArrayAdapter<String> teamsAdapter = new ArrayAdapter<String>(getActivity(),  
android.R.layout.simple_spinner_item, Variables.teamNames); 

teamsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       Variables.spinner.setAdapter(teamsAdapter);
ArrayAdapter<String> teamsAdapter = Variables.getAdapterForTeams(getActivity());
ArrayAdapter teamsAdapter=Variables.getAdapterForTeams(getActivity());

关于界面的问题不是Android而是Java问题。如果在Java中使用接口是有意义的,那么在Android中使用接口也是有意义的。有大量关于Java的文献和在线资源将解释为什么以及何时应该使用接口。我相信,如果您在网上搜索,您会找到大量相关资源。

如果您的问题得到了回答,请您将我的答案标记为正确,我将不胜感激。非常感谢。