每当尝试获取getSelectedCustomerPhone()时,我都会随机遇到一个问题,然后将出现Bound Exception之外的随机游标索引。 这段代码有什么问题吗?我找不到错误。
private String getSelectedCustomerPhone() {
myCursor.moveToPosition(selectedCustPosition);
String phone =
myCursor.getString(myCursor.getColumnIndex("cust_phone"));
if (phone != null) return phone;
return "";
}
答案 0 :(得分:1)
似乎@screens: {
small: 320px;
medium: 768px;
large: 1024px;
}
@padding: {
0: 0;
10: 1rem;
20: 20rem;
30: 30rem;
}
@colors: {
white: #fff;
silver: hsla(0, 0%, 90%, 1);
}
@responsive-modifiers: true;
#config () {
.generate(pt, padding, @padding);
.generate(py, padding-top, @padding);
.generate(text, color, @colors);
.generate(background, background-color, @colors);
}
// Call the mixin
#config();
each(@screens, {
@media (min-width : @value) {
.@{key} when (@responsive-modifiers = true) {
#config();
}
}
})
.generate(@prefix, @property, @list) {
each(@list, {
&\:@{prefix}-@{key} {
@{property}: @value;
}
});
}
在光标范围[0,Cursor.getCount()-1]之外。尝试了解为什么会发生。
为了防止崩溃,可以添加支票
selectedCustPosition
但这只是一个变通办法,很有可能会返回错误的电话号码。更好地理解一个真正的问题:为什么if (0 <= selectedCustPosition && selectedCustPosition < myCursor.getCount()) {
myCursor.moveToPosition(selectedCustPosition);
// ...
}
不正确。