Soru & Cevap

çeviri - Türkçe ingilizce sözlük acil yardım ...

27.11.2015 - 04:11

arkadaşlar okuldan aldığım bir ödev için çeviri yada türkçe ingilizce sözlük tarzı bir uygulama yapmam lazım bunun için yardım edebilirmisiniz?

ilk olarak dizi düşünmmmüştüm ancak saçma olcağını düşündüm listwiev geldi daha sonra aklıma ama tam olarak bilmiyorum. İngilizce türkçe kelimeleri ben bi şekilde girerim kullanıcı açtığında alfabeye göre sıralı olsun ancak arayada bilsin kelimeleri bu şekilde düşünüyorum yardımcı olursanız çok sevinirim.cevaplarınızı bekliyorum

157 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-28812-1452251417.jpg
umutonur
29.11.2015 - 02:58

Merhabalar.. 

Öncelikle arama isminde bir EditText'inin,

liste adında bir ListView'inin

ve adapter isminde bir ArrayAdapter'inin tanımlı olduğunu varsayıyorum..

String sozcukler[] = {"caa", "aab", "dbb", "abc", "abcd",
                "abcdd", "ee", "eef"};

bir dizimiz olsun.

liste.setAdapter(adapter);

şeklinde liste'mizin adapter'ini belirledikten sonra sort() metodunu kullanarak adapter'imizi alfabetik bir şekilde sıralıyoruz..

        adapter.sort(new Comparator<String>() {
            @Override
            public int compare(String lhs, String rhs) {
                return lhs.compareTo(rhs);
            }
        });

sıralama işlemini bu şekilde tamamladıktan sonra;

arama nesnemizde herhangi bir değişim olduğunda harekete geçecek yazı dinleyicisini -TextChangedListener()- nesnemize ekliyoruz.

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

     }

     //EditText içindeki yazı değiştiğinde neler olacağını bu kısımda belirliyoruz.
     @Override
     public void onTextChanged(CharSequence s, int start, int before, int count) {
 
         //filtreleme özelliğini belirliyoruz.
          MainActivity.this.adapter.getFilter().filter(s);
     }

     @Override
     public void afterTextChanged(Editable s) {

     }
});

burada beforeTextChanged() ve afterTextChanged() metodları sırasıyla arama içerisinde yazı değişmeden önce ve sonra yapılacak işlemleri de belirleyebildiğimiz metodlardır.

biz burda onTextChanged() metodunda adapter'imizde bir filter belirleyecek Filtreleme işlemini gerçekleştirmiş oluyoruz...

 

Kaynak Kodu burdan indirebilirsiniz..