【问题标题】:i want to search using invoice number [duplicate]我想使用发票号码进行搜索 [重复]
【发布时间】:2017-06-08 11:00:01
【问题描述】:

我想使用发票号码进行搜索,但在发票中出现错误,无法解决。这是我的过滤方法&错误是:

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();
}

【问题讨论】:

  • 你是如何设置值或数组列表的? (st.getBill_tableno() 返回 null。请检查值是否正确保存到 arraylist

标签: java android listview firebase firebase-realtime-database


【解决方案1】:

似乎有些字符串为空,可能是在 for 循环中对 BillModel 的语言环境引用中。

在对该变量进行任何操作之前,请确保该变量中的数据不为空。

【讨论】:

    猜你喜欢
    • 2023-01-29
    • 2022-12-11
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多