dart Flutter比较两个不同的int返回true

klr1opcd  于 2023-07-31  发布在  Flutter
关注(0)|答案(2)|浏览(154)

我有Flutter的解决方案,我在我的listView分页工作.当existing list等于totalRecords时,我调用refreshController.loadNoData()来停止分页。
不幸的是,在我的例子中,listLength等于10,totalRecords是23,但是这个比较返回了true,我的分页没有工作,因为这个比较中的错误。
有过什么吗?

if (10 == 23)

字符串
在我的情况下应该返回false,但它返回的是true。

int listLength = requestList.value.data!.length;
int totalRecords = value.totalRecords!;
if (listLength == totalRecords) {
refresherController.loadNoData();
}

zbdgwd5y

zbdgwd5y1#

首先尝试打印值,然后检查它们是否相同:

debugPrint(requestList.value.data!.length.toString());
debugPrint(value.totalRecords!.toString());

字符串
通常情况下,它们应该是不同的,因为否则它不可能返回true。

kcugc4gi

kcugc4gi2#

int listLength = requestList.value.data!.length;
int totalRecords = value.totalRecords!;

if (listLength >= totalRecords) {
  refresherController.loadNoData();
}

字符串
我将等式comparison (==)更改为大于或等于comparison (>=)。此更改将确保在调用listLength is equal to or greater than totalRecords时调用refresherController.loadNoData()。通过使用>=,当列表的长度超过或匹配记录的总数时,分页将停止。

相关问题