Merhabalar Bu sitede ilk sorum.

Android üzerinde Adapter tanımlamaya çalışıyorum. Bir kaç başarılı ve başarısız denemelerim oldu ancak başarılı bile olsam bazı yerleri eksik görüyorum.

Mesela şu şekilde birşey tanımlıyorum

public View getView(int position, View convertView, ViewGroup parent) {

            LayoutInflater inflater = getLayoutInflater();
            EditText textViewToDo = null;
            View wholeView = convertView;
            wholeView = inflater.inflate(R.layout.item_listview_to_do, null);

            textViewToDo = (EditText) wholeView.findViewById(R.id.textViewToDo);
            textViewToDo.setText("" + (position + 1) + " )" + values.get(position));
            textViewToDo.setTypeface(myTypeFace);

            if (position % 2 == 0) {
                wholeView.setBackgroundColor(Color.rgb(255, 0, 0));
            } else {
                wholeView.setBackgroundColor(Color.rgb(0, 255, 0));
            }

            return wholeView;
        }

Burada herşeyi kafamda oluşturdum ancak inflater ne işe yarar bir türlü anlayamadım. Sadece adapter oluştururken kullanıldığını gördüğüm için ezberden kullanmış oluyorum. Ancak çalışma şekli nedir, alternatifleri var mıdır anlayamıyorum. İngilizcem de bunu anlamaya yetmedi. Bunu açıklayabilirseniz sevinirim. Şimdiden teşekkürler kolay gelsin.

soruldu: 10 Tem '13, 10:27

olkunmustafa's gravatar image

olkunmustafa
582222934
cevap kabul oranı: 26%


Şu cevap yardımcı olabilir : http://www.btsoru.com/questions/3619/android-layoutinflater-nasl-calsyor

Şöyle de bir örnek verilebilir :

Sizin soruda yazdığızla neredeyse aynı olacak şekilde diyelimki custom bir listeview yapacaksınız ve listview için işte sol tarafta bir resim, resmin yanına başlık ve başlığın da altına tarih gelecek şekilde bir custom listview hazırladınız. Listeyi verilerle doldururken adapter içerisinde bu 3 tane ögeye verileri tek tek girmeniz gerekecek işte tam da burada layout inflater kullanabilirsiniz. Layout inflater (yerleşim patlatıcı) ile custom liste view için oluşturduğunuz her ögeye tek tek erişebilirsiniz.

Kolay gelsin.

permanent link

cevaplandı: 11 Tem '13, 02:38

lastarabos's gravatar image

lastarabos
1.8k122742
cevap kabul oranı: 29%

Sanırım anladım. Yani xml dosyasının içerisini başka bir xml in içine yerleştiriyor ve bunu her seferde yapıyor gibi birşey. Sanırım böyle birşey :D

(11 Tem '13, 02:41) olkunmustafa olkunmustafa's gravatar image

Biraz öyle gibi. Şöyle ki, oluşturdğunuz o image ve text nesnesine layout inflater ile eriştip bu nesneleri doldurduktan sonra bu nesnelerin dolu hallerini listview'a aktardığınızda istediğiniz şekilde (inflate ettiğiniz layouttaki düzendeki gibi) bir listeview elde edersiniz.

(11 Tem '13, 02:55) lastarabos lastarabos's gravatar image

Inflaterler xml-den java objeleri elde etmemiz icindir.Sizin yazdiginizdada onu etmis...

View wholeView = convertView;

wholeView = inflater.inflate(R.layout.item_listview_to_do, null);
textViewToDo = (EditText) wholeView.findViewById(R.id.textViewToDo);
permanent link

cevaplandı: 10 Tem '13, 15:05

mehmanbashirov's gravatar image

mehmanbashirov
211253138
cevap kabul oranı: 16%

değiştirildi: 06 Ağu '13, 12:50

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×818
×1

Soruldu: 10 Tem '13, 10:27

Görüntüleme: 2,883 kez

Son güncelleme: 06 Ağu '13, 12:50

powered by BitNami OSQA