您好,我在 Android 5.1 模拟器中运行该应用程序时遇到了问题。我有一个包含 Spinner 的屏幕。这个 Spinner 在我运行 android 4.0+ 的手机上运行良好。我收到这样的错误:
java.lang.IllegalArgumentException: Spinner adapter view type count must be 1 at android.widget.Spinner.setAdapter(Spinner.java:439)
我重写了这样的方法:
@Override
public int getItemViewType(int position) {
return 0;
}
@Override
public int getViewTypeCount() {
if (hasTitle())
return _models.length+1;
else
return _models.length;
}
我在调试时知道 _models.length 大于 0。调试期间未命中 GetItemViewType。
主要问题是我有两个带有两个微调器的屏幕。使用上述代码后,第一个屏幕可以正常工作,但第二个屏幕就没那么幸运了。
有没有人知道为什么会出现错误,即使我的 _models 确实有值(value)。
对不起,我可能没看错。必须是1...但为什么必须是1??
最佳答案
只需让 getViewTypeCount 返回 1。
此方法允许您为不同的项目扩充不同的布局。它与 getViewType() 一起确保将正确类型的 View 作为 convertView 传递给 getView()
关于Android:Spinner 适配器 View 类型计数必须为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33861434/