Veritabanından bilgileri alıp listview e aktarıyorum. Ardından şunu yapmalıyım. Herhangi bir item a tıklanıldığında context menu açılacak. Context menu çağırma işlemini listview setOnItemClickListener metodunda mı yoksa OnCreate de registerForContextMenu(liste); diyerek context menunun onContextItemSelected metodunda mı yapmalıyım. Bu menüden düzenle seçeneği seçildiğinde item ın id'sini alabiliyor olmam lazım.Bu noktada kafam karıştı. Elinizde bir örnek varsa paylaşabilir misiniz?

soruldu: 21 Mar '13, 15:57

emax_64's gravatar image

emax_64
64589102101
cevap kabul oranı: 20%

değiştirildi: 25 Mar '13, 09:31

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

Yani elini basılı tuttuğunda değil click olduğunda contextmenü açılsın mı diyorsun ?

(22 Mar '13, 02:11) creseos creseos's gravatar image

Mesela ben sana mesajlar için yaptığım bir context menü örneğini vereyim. En aşağıda da nasıl clicke alacağını yazdım.

Düzenleme : Formun üstüne

int itemId;//İtem İd almak için

Oncreate kısmına

registerForContextMenu(listviewListe);

Activitynin metotlarına

int ac=0, cevapla=1, sil=2;
@Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.setHeaderTitle(getString(R.string.txt_hizliMenu));

        menu.add(0, ac, 0, getString(R.string.txt_ac));
            menu.add(0, cevapla, 0, getString(R.string.txt_cevapla));
            menu.add(0, sil, 0, getString(R.string.txt_sil));

    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

        if(item.getItemId()==ac)
        {
             //itemId ile isteiğin değere ulaşabilirsin.
            //Açılacaksa
        }
        else if(item.getItemId()==cevapla)
        {
            //Cevaplanacaksa
        }
        else if(item.getItemId()==sil)
        {
            //Silinecekse
        }

        return super.onContextItemSelected(item);
    }

ve son olarak da click işleminde olması için listviewin click olayına

listviewListe.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
             itemId = id; //Böylece bir item tıklandıgında idsini almış oluyoruz.
             listviewListe.performLongClick();
        }
    });
permanent link

cevaplandı: 22 Mar '13, 02:19

creseos's gravatar image

creseos
2.0k468187
cevap kabul oranı: 37%

değiştirildi: 22 Mar '13, 04:32

Aşağıdaki iki kaynakta setOnItemClickListener metodu ile seçili objenin id'sini alarak üstesinden gelmiş bir tutorial mevcut, incelemenizde fayda var.

Kaynak

Bu kaynaktada benim yazdığım bir tutorial mevcut, aynı tür işlemi bende yapmışım, örnek içinde :)

Kaynak

permanent link

cevaplandı: 22 Mar '13, 02:32

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 23 Mar '13, 10:52

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

Soruldu: 21 Mar '13, 15:57

Görüntüleme: 1,786 kez

Son güncelleme: 25 Mar '13, 09:31

powered by BitNami OSQA