Yanıtlar:
Gönderen Etkinlik İşleyicilere :
onLongClick () - Bu, olayı tüketip tüketmediğinizi ve daha fazla taşınmaması gerektiğini belirtmek için bir boole döndürür. Yani, olayı hallettiğinizi ve olay burada durması gerektiğini belirtmek için true döndürün; Eğer işlem yapmadıysanız ve / veya olayın diğer tıklama dinleyicilerinde devam etmesi gerekiyorsa false döndür.
Eğer dönüyor true
, hesabınızla ilgili onLongClick()
ve hala normal bir tıklama olayını almak?
Eklemek için düzenlendi : Bir ListView için kullanıyor olabilirsiniz OnItemLongClickListener
. onItemLongClick()
O olayı tüketilen belirtmek için benzer bir Boole değeri iade orada kullanır.
Cevabı daha basit terimlerle ifade etmek:
Verilen:
@Override
public boolean onLongClick(View view) {
return true; // or false
}
return true
olayın tüketildiği anlamına gelir. Halledilir. Başka hiçbir tıklama etkinliği bildirilmeyecektir.return false
olayın tüketilmediği anlamına gelir. Diğer tıklama olayları bildirim almaya devam edecektir.Dolayısıyla, onClick
bir'den sonra da tetiklenmek istemiyorsanız , olaydan onLongClick
başlamalısınız .return true
onLongClick
Emin geçersiz kılma emin olun OnClickListener
sizin için onClick
yöntemiyle. Ayrıca geçersiz kılma emin olun OnLongClickListener
sizin için onLongClick
yöntemiyle. Ve onLongClick
yönteminizin geri döndüğünden emin olun true
, çünkü bu onClick
.
Sen uygulayabileceği setOnLongClickListener
bir örneğini oluşturarak new View.OnClickListener()
veya new View.OnLongClickListener()
normal bir OnClickListener Eğer yöntemini aktive tek bir tıklama bu hataları alacak Uzun tıklama ve uygular oluşturursanız,. new View.OnLongClickListener()
Yalnızca uzun tıklamaları yakalamak için kullanmalısınız
myListView.setOnItemLongClickListener(this);
Seçeneği ayarlamak için , işlevi geçersiz kılmanız gerekirpublic boolean onItemLongClick(...)
. Buradareturn true
, LongClick'in etkinleştirildiğini gösteren ve normal tıklamada tetikleyiciyi iptal edeceğini gösteren tek yapmanız gereken . Yanlış döndürürseniz, normal tıklamayı da tetikler.