每当尝试获取getSelectedCustomerPhone((时,我都会随机遇到一个问题,然后随机出现边界异常中的光标索引。 这段代码有什么问题吗?我找不到错误。
private String getSelectedCustomerPhone() {
myCursor.moveToPosition(selectedCustPosition);
String phone =
myCursor.getString(myCursor.getColumnIndex("cust_phone"));
if (phone != null) return phone;
return "";
}
似乎selectedCustPosition
超出了光标范围 [0, Cursor.getCount(( - 1]。 试着理解为什么会这样。 作为防止崩溃的解决方法,您可以添加检查
if (0 <= selectedCustPosition && selectedCustPosition < myCursor.getCount()) {
myCursor.moveToPosition(selectedCustPosition);
// ...
}
但这只是一个解决方法,更有可能返回不正确的电话号码。更好地理解真正的问题:为什么selectedCustPosition
不正确。