1

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

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
}

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

谢谢!

4

1 回答 1

0

一个简单的平等检查应该工作:

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

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

于 2018-10-06T12:33:23.950 回答