我正在使用addTextChangedListener(...)使用ArrayList中的Filter來獲取匹配的字符串。 我可以很容易地過濾匹配的字符串,但是,我想如果輸入的字符串與arraylist記錄不匹配,然後顯示toast未找到該記錄。如果記錄不匹配,則顯示Toast
這是我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);
}
}
}
這就是過濾器()方法適配器
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();
}
你想要什麼?吐司的語法或邏輯?爲什麼它沒有顯示? –
目前還不清楚你試圖達到什麼目的。 –
嗨,爲rpl thnx,讓我們假設{「abc」,「acb」,「aab」}這3條記錄在我的arraylist和即時通訊過濾editText輸入「aaQ」,那麼它應該顯示味精「記錄未找到」 – nidhi