我想使用发票编号进行搜索,但是它会在发票中给出错误,如何解决。这是我的过滤方法&错误是:
java.lang.NullPointerException:尝试调用虚方法' java.lang.String java.lang.String.toLowerCase(java.util.Locale)'在空对象引用上
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
billmod.clear();
if (charText.length() == 0) {
billmod.addAll(arraylist);
} else {
for (BillModel st : arraylist) {
if (st.getBill_tableno().toLowerCase(Locale.getDefault()).contains(charText)) {
billmod.add(st);
}
else if(st.getBill_date().toLowerCase(Locale.getDefault()).contains(charText)) {
billmod.add(st);
} else if(st.getBill_amount().toLowerCase(Locale.getDefault()).contains(charText)) {
billmod.add(st);
}
else if(st.getIncvoice_no().toLowerCase(Locale.getDefault()).contains(charText)) {
billmod.add(st);
}
}
}
notifyDataSetChanged();
}
答案 0 :(得分:0)
似乎有些字符串为null,可能是你在for循环中对BillModel的语言环境引用。
确保此变量中的数据在对其执行任何操作之前不为空。