检查当前使用的 ArrayAdapter Spinner

Checking which ArrayAdapter Spinner currently uses

我有四个 ArrayAdapter,它们使用 4 个不同的数组

adapter1 = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray( R.array.array1) );
adapter2 = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray(R.array. array2));
adapter3 = new  ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray(R.array. array3));
adapter4 = new  ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray(R.array. array4));

我有两个旋转器

spinnerFrom = findViewById(R.id.unit_From_spinner)
spinnertTo = findViewById(R.id.unit_To_spinner);

在单击按钮时,spinnerFromspinnertTo 填充代码中指定的适配器。

我的主要想法是在项目中写这样的东西:

if (spinnerFrom use adapter 1 or adapter 2 || spinnerTo use adapter 1 or adapter 2){
some code
}
else if (spinnerFrom use adapter 3 or adapter 4 || spinnerTO use adapter 3 or adapter 4){
some code
}

问题:如何通过spinnerFrom获取当前使用的适配器并指定其名称(adapter1/adapter2/adapter3/adapter4)和 spinnertTospinners 并制作 if-else(或者我应该使用 swtich-case)结构?

谢谢!

一个简单的相等性检查应该可以工作:

if (spinner.getAdapter() == adapterInstance) //etc

通常,您不想在 Java 中执行此操作,因为它比较实例而不是值,但在这种情况下,它应该执行您需要的操作,即比较实例。