java - 检查当前使用哪个 ArrayAdapter Spinner

标签 java android android-arrayadapter android-spinner custom-arrayadapter

我有四个 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
}

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

谢谢!

最佳答案

简单的相等性检查应该有效:

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

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

关于java - 检查当前使用哪个 ArrayAdapter Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679109/

相关文章:

java - 为什么从套接字流读取会永远阻塞?

java - 以 Java 8 风格重构 if-else if 链

java - java新手 - 同步静态方法锁定类

android - 在 Eclipse 中调试时,如何查看 android SDK 系统库的符号?

android - 如何防止滚动到聚焦的 EditText

java - Android 自定义 ArrayAdapter 与自定义对象

java - 向 Web 服务 Opengts 发送 XML 请求以从 Android 应用程序登录时出错

java - 如何在 Java 中生成 xml?

android - 带有自定义 ArrayAdapter(和 getView 回收)的 ListViewText 中用于 EditText 的 TextWatcher

java - 如何指示 ArrayAdapter 重绘其所有元素?