我正在尝试覆盖getItemViewType
并为我的页脚返回不同的视图类型,但整数比较在函数中失败:
此图显示了一个调试会话,其中输入position
为21,而私有列表mValues
的大小为21,但是当我按下“跳过”时,将跳过条件代码。 / p>
如果两个整数相等,为什么position == mValues.size()
返回false?
我在跑步前清理并重建了我的项目。
更新:
当整数被硬编码时它起作用:
但不是在我使用输入参数时:
更新
我添加了一个Log语句作为函数的第一行
Log.e("MYAPP", "position: " + position + ", evaluates: " + (position == 21));
在我的监视器中,我看到:position: 21, evaluates: true
但是,我永远不会调用return FOOTER_VIEW;
处的断点,也不会调用与页脚视图相关的任何函数。
更新:
下载完整的适配器:https://gist.github.com/fergusom/79c6d5d9b1fd5e8348949d114a0159d5
请注意,我更新了代码以首先计算boolean
,但即使boolean
在日志中打印出true
,它仍然会失败
答案 0 :(得分:1)
给jvm没机会:
if(new Integer(position).equals(new Integer(mValues.size()))
如果Integer构造函数失败,您将知道异常
中的值答案 1 :(得分:1)
我重新启动手机,它开始工作......