每当尝试获取getSelectedCustomerPhone()时,我都会随机遇到一个问题,然后随机游标索引就会出现越界异常。这段代码有什么问题吗?我找不到bug。
private String getSelectedCustomerPhone() {
myCursor.moveToPosition(selectedCustPosition);
String phone =
myCursor.getString(myCursor.getColumnIndex("cust_phone"));
if (phone != null) return phone;
return "";
}发布于 2018-10-05 21:48:42
selectedCustPosition似乎超出了光标范围[0,Cursor.getCount() - 1]。试着理解为什么会发生这种情况。作为防止崩溃的一种解决方法,您可以添加检查
if (0 <= selectedCustPosition && selectedCustPosition < myCursor.getCount()) {
myCursor.moveToPosition(selectedCustPosition);
// ...
}但这只是一种解决方法,更有可能返回不正确的电话号码。最好理解真正的问题:为什么selectedCustPosition是不正确的。
https://stackoverflow.com/questions/52664881
复制相似问题