如果记录不匹配,则显示Toast

时间:2017-10-05 09:50:24

标签: android

我正在使用addTextChangedListener(...)来使用arraylist中的Filter来获取匹配的字符串。 我可以很容易地过滤匹配的字符串,但是,如果输入的字符串与arraylist记录不匹配,则显示吐司未找到记录。

这是我的addTextChangedListener()方法

etserach.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

        String st = etserach.getText().toString();
        if (!s.equals("") && s.length() > 0) {
            adapter_filter.filter(st);
        } else {
            adapter_filter.filter(st);
        }
    }
}

这是来自适配器的filter()方法

public void filter(String charText) {
    charText = charText.toLowerCase(Locale.getDefault());
    resultArrayshort.clear();
    if (charText.length() == 0) {
        resultArrayshort.addAll(citylistNew);
    } else {
        for (int i = 0; i < citylistNew.size(); i++) {
            String fullname = citylistNew.get(i).getClientNameE();
            if (fullname.toLowerCase(Locale.getDefault()).contains(charText)) {
                resultArrayshort.add(citylistNew.get(i));
            }
          /*  else{
                Toast.makeText(mContext,"Record not found",Toast.LENGTH_SHORT).show();
            } */
        }
    }
    notifyDataSetChanged();
}

2 个答案:

答案 0 :(得分:0)

在notifydatasetchanged之后检查resultArrayshort的大小如果找到空,则显示toast

if(resultArrayshort.isEmpty()){

//show toast

}

答案 1 :(得分:0)

嗨@nidhi for for循环检查resultArray的大小,如果它是空的则显示toast