我有四个 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);
单击按钮时,spinnerFrom
和 spinnertTo
填充代码中指定的适配器。
我的主要想法是在项目中编写如下内容:
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
和 spinnertTo
旋转器指定其名称(adapter1
/adapter2
/adapter3
/adapter4
)并制作 if-else(或者我应该使用 swtich-case
)结构?
谢谢!
最佳答案
简单的相等性检查应该有效:
if (spinner.getAdapter() == adapterInstance) //etc
通常,您不想在 Java 中执行此操作,因为它比较实例而不是值,但在本例中,它应该执行您需要的操作,即比较实例。
关于java - 检查当前使用哪个 ArrayAdapter Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679109/