检查当前使用的 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);
在单击按钮时,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
获取当前使用的适配器并指定其名称(adapter1
/adapter2
/adapter3
/adapter4
)和 spinnertTo
spinners 并制作 if-else(或者我应该使用 swtich-case
)结构?
谢谢!
一个简单的相等性检查应该可以工作:
if (spinner.getAdapter() == adapterInstance) //etc
通常,您不想在 Java 中执行此操作,因为它比较实例而不是值,但在这种情况下,它应该执行您需要的操作,即比较实例。
我有四个 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
获取当前使用的适配器并指定其名称(adapter1
/adapter2
/adapter3
/adapter4
)和 spinnertTo
spinners 并制作 if-else(或者我应该使用 swtich-case
)结构?
谢谢!
一个简单的相等性检查应该可以工作:
if (spinner.getAdapter() == adapterInstance) //etc
通常,您不想在 Java 中执行此操作,因为它比较实例而不是值,但在这种情况下,它应该执行您需要的操作,即比较实例。