Arama Sonucu Bozulan Listview'den açılan activity
Değerli arkadaşlar merhabalar; çalıştığım kurum için bir uygulama geliştirmeye çalışıyorum. Bunun için verdiğimiz eğitimlerin olduğu bir listview kurdum, listviewden ilgili eğitimi seçince açılıyor ve eğitim hakkında bilgi veren ekran geliyor. Buraya kadar problem yok. Listview'de arama yapmak için bir edit text oluşturdum. Arama kısmına yazdığım listview elemanı da geliyor buraya kadar sıkıntı yok. Ama arama sonucunda gelen listview öğesine tıklayınca tıkladığım eğitimin değil, arama yapılmadan görünen listede yani ana listedeki sıraya göre açıyor. Yani örnekle anlatmak gerekirse. Diyelim ki 3 eğitim var;
1- X Eğitimi
2- Y Eğitimi
3- Z Eğitimi
Y eğtimi diye arama yaptığımda Y Eğitimi 1. sıraya geldiği için, aslında X Eğitimine ait olan Activity açılıyor.
Yardımcı olabilirseniz gerçekten çok sevinirim. Kodlar ise şöyle;
lst.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(position==0){
Intent myintent = new Intent(view.getContext(),EgitimFaaliyet.class);
startActivityForResult(myintent,0);
}
if(position==1){
Intent myintent = new Intent(view.getContext(),HizmetIciEgt.class);
startActivityForResult(myintent,1);
}
if(position==2){
Intent myintent = new Intent(view.getContext(),Uluslararasi.class);
startActivityForResult(myintent,2);
}
});
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) {
}
});
Tahminime göre
" if(position==2){
Intent myintent = new Intent(view.getContext(),Uluslararasi.class);
startActivityForResult(myintent,2);" ısmında if(position==2) yerine başka bir komut gelmeli ama bu kısmı çözemedim, fazla kodlama bilgim olmadığından. Yardımcı olursanız çok sevinrim. Saygılar.