2017-10-05 8 views
0

私は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); 
     } 
    } 
} 

と、空が見つかった場合、これはresultArrayshortのnotifydatasetchangedチェックサイズの後にアダプタ

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

あなたは何をしたいですか?トースト構文またはロジック?なぜそれが表示されていないのですか? –

+0

あなたが達成しようとしていることは不明です。 –

+0

こんにちは、rplのthnxは、私のarraylistのこれらの3つのレコードと私は "edit aaq"フィルタリングeditTextに入力すると、その "レコードが見つかりません" – nidhi

答えて

0

こんにちは@nidhi forループの後にresultArrayのサイズを確認してください空にしてトーストを表示

+0

こんにちは、rplのthnxと私のarraylistは空ではない、私のレコードは元に一致していません。私のarraylistのこれら3つのレコードとフィルタリングeditTextに "aaQ"と入力すると、そのレコードは "レコードが見つかりません"というメッセージが表示されます – nidhi

+0

@nidhiあなたは私の答えを試してください – YoLo

+0

いいえ、 動いていない。 – nidhi

0

からフィルタ()メソッドでトーストに

if(resultArrayshort.isEmpty()){ 

//show toast 

} 
を表示
+0

@nidhi私は最初に答えたと思う。 – YoLo

関連する問題