Soru & Cevap

RecyclerView de OnClick sorunu

27.01.2017 - 10:18

2. satırda

recyclerView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
setOnItemClickListener için cannot resolve methot hatası veriyor.

5. satırda

Toast.makeText(CikmisSorularGridRecyclerViewActivity.this, adapter.getItem(position), Toast.LENGTH_SHORT).show();
getItem için cannot resolve methot hatası veriyor.

 

Teşekkürler

 


        recyclerView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
                Toast.makeText(CikmisSorularGridRecyclerViewActivity.this, adapter.getItem(position), Toast.LENGTH_SHORT).show();


                switch (position) {
                    case 0:
                        startActivity(new Intent(getApplicationContext(), MainActivity.class));
                        break;
                }

 

2 Görüntülenme

2 Cevap

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

picture-7541-1521024507.jpg
burhanaras
28.01.2017 - 04:18

Toast sınıfındaki makeText() methodunun imzasına bakın. (Mouse ile methodu üzerine gelin, Ctrl tuşu basılı iken methodun ismine mouse ile tıklayın.)

İkinci parametrenin String olduğunu göreceksiniz. Siz ise String olmayan bir object vermeye çalışıyorsunuz. Böyle bir method yok haliyle. Parametre imzaları uyşmuyor. Hatanın sebebi bu. Bir String verin ikinci parametre olarak, hayatın daha güzel olduğunu farkedeceksiniz.

picture-15873-1477252697.png
muhammetcagatay
28.01.2017 - 08:54
adapter.getItem(position).toString()

olarak değiştirirsen çözülür

yada eğer modelinde değişkenlerinden biri isim olsun ve bunun getter setter metodları da var olsun sayıyorum,

adapter.getItem(position).getIsim()

şeklidne çağırmalısın.

eğer yaşı var ve bu integer tipinde diyelim

adapter.getItem(position).getYas().toString()

şeklinde stringe dönüştürmelisin