Android Studio ListView longItemClick ile ItemClick’i ayırt etme

Rapor et
Soru

Bu soru rapor edilmelidir hissediyorum neden kısaca açıklayınız.

Rapor et
İptal

Android Studio da LisView da ki satırlardan birine uzun tıkladıktan sonra ‘setOnItemClickListener‘ metodu devreye giriyor.

kullanıcının ‘setOnItemLongClickListener‘ a mı yoksa ‘setOnItemClickListener‘ a mı girdiğini nasıl ayırt edebilirim ? dil: java

Cevaplandı 0
Android 4 hafta 4 Cevap 88 görüntüleme Intern 0

Yazar HakkındaIntern

Cevaplar ( 4 )

  1. sevdeaybuke

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Merhaba, eklemiş olduğum linkte örnek mevcut..
    https://stackoverflow.com/questions/8846707/how-to-implement-a-long-click-listener-on-a-listview

  2. pandaa

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    merhaba, önerdiğiniz linke baktım ama aradığım şeyi bulamadım. sorunumu daha iyi anlatabilmek adına uygulamayı kullandığım bir ekran videosu yükledim. “onItemLongClick” koduna giriyor ama hemen ardından “onItemClick” kodunuda çalıştırıyor. benim istediğim ise “onItemLongClick” koduna girdiğimde sadece “onItemLongClick” kodunu çalıştırması.

    click kodlarınıda tam olarak bu şekilde yazdım.

    listNote.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView parent, View view, int position, long id) {

    Toast toast=Toast.makeText(getApplicationContext(),notes.get(position)+” KISA tıklandı”,Toast.LENGTH_SHORT);
    View view1=toast.getView();
    view1.setBackgroundColor(Color.parseColor(“#FF0000″));
    toast.show();

    }
    });

    listNote.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView parent, View view, int position, long id) {
    Toast toast=Toast.makeText(getApplicationContext(),notes.get(position)+” UZUN tıklandı”,Toast.LENGTH_SHORT);
    View view1=toast.getView();
    view1.setBackgroundColor(Color.parseColor(“#00FF59”));
    toast.show();

    return false;
    }
    });


    Ekler
  3. pandaa

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    sorunun sebebini buldum. “setOnItemLongClickListener” metodunu oluşturduktan sonra metodun içindeki false dönen return’u true yapmak gerekiyor.

    bu şekilde:

    listNote.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView parent, View view, int position, long id) {
    return true;
    }
    });

    En iyi cevap
  4. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    merhaba, önerdiğiniz linke baktım ama aradığım şeyi bulamadım. sorunumu daha iyi anlatabilmek adına uygulamayı kullandığım bir ekran videosu yükledim. “onItemLongClick” koduna giriyor ama hemen ardından “onItemClick” kodunuda çalıştırıyor. benim istediğim ise “onItemLongClick” koduna girdiğimde sadece “onItemLongClick” kodunu çalıştırması.

Cevap bırak

Gözat

KOD PAYLAŞIRKEN DİKKAT!!!!

HTML kod paylaşmak için

<pre class="html">HTML KOD</pre>
XML kod paylaşmak için
<pre class="xml">XML KOD</pre>
Diğer dillerde(php,java,android,javasvript,c# vs..) kod paylaşmak için
<pre>KOD</pre>
tagları arasında paylaşmayı unutmayın.