Lİstview'de birden fazla kelime ile arama
public class XXXXXXXX extends AppCompatActivity {
EditText etFilter;
ListView lst;
ArrayList <String> list = new ArrayList<>();
Context context = this;
private ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dorduncu_sayfa);
etFilter = (EditText)findViewById(R.id.etFilter);
lst = (ListView)findViewById(R.id.lst);
list.add("Photoshop Eğitimi");
list.add("x Eğitimleri");
list.add("y İşlemleri Eğitimi");
lst.setAdapter(adapter);
lst.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final String item=(String)parent.getItemAtPosition(position);
if ("Photoshop Eğitimi".equals(item)) {
Intent myIntent = new Intent(view.getContext(), AdayMemur.class);
startActivityForResult(myIntent, 0);
}
if ("x Eğitimleri".equals(item)) {
Intent myIntent = new Intent(view.getContext(), AfadEgitimi.class);
startActivityForResult(myIntent, 1);
}
}
});
lst.setAdapter(new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,android.R.id.text1, list));
etFilter.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) {
ArrayList <String> tempList = new ArrayList<>();
for (int i = 0; i < list.size(); i++){
if (list.get(i).toUpperCase().contains(s.toString().toUpperCase())){
tempList.add(list.get(i));
}
}
if (tempList != null && tempList.size() > 0){
lst.setAdapter(new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,android.R.id.text1, tempList));
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
}
Arkadaşlar kodlar yukarıdaki gibi. Şuan arama kısmında "phot........" yazdığımda sadece photoshop eğitimi listviewde geliyor bunda sorun yok. Ayrıca onclick özelliği bulunmakta, arama sonucu listview'de getirilen başlığa tıklanınca içerik gelmekte. benim yapmak istediğim "photoshop" yazarken de photoshop gelsin, ayrıca belirlediğim herhangi bir anahtar kelimeyi yazınca da yine "photoshop" gelsin. Örneği "grafik tasarım" yazarsam da photoshop gelsin.
Şu şekilde birşey geldi aklıma doğaçlama (cahillikten tabi);
" if (("Photoshop Eğitimi".equals(item)) &&("grafik tasarım".equals(item)) {
Intent myIntent = new Intent(view.getContext(), AdayMemur.class);
startActivityForResult(myIntent, 0);
Tabi bir sonuç alamadım. Birden fazla anahtar kelime ile arama mümkün mü?
Bir diğer sorum ise onclick özelliği ile tıkladığımda açılan içerikten herhangi bir kelime ile arama yapma ihtimalim var mı?
Kaynak video veya belge de paylaşabilirseniz çok sevinirim. İyi çalışmalar herkese.