2012-11-20 6 views
9

Potrzebuję twojej pomocy, jeśli ktokolwiek może być, będzie to świetne rozwiązanie dla mojego rozwiązania. Nie wiem, czy to możliwe, czy nie, ale chcę spróbować to naprawić, jak .. Właściwie chcę zaimplementować dwie metody w jednym wydaniu kliknij przycisk, jego proste kliknięcie i długie kliknięcie, tutaj mój kod: :Wywołanie setOnClickListener i setOnLongClickListener w przypadku pojedynczego przycisku

homebutton = (ImageButton) findViewById(R.id.home_icon); 
homebutton.setOnClickListener(new OnClickListener() { 
    public void onClick(View arg0) { 
     Intent intent = new Intent(context, MainActivity.class); 
     startActivity(intent); 
    } 
}); 
homebutton.setOnLongClickListener(new OnLongClickListener() { 
    public boolean onLongClick(View arg0) { 
     Toast.makeText(getApplicationContext(), "Long Clicked " , Toast.LENGTH_SHORT).show(); 
     return false; 
    } 
}); 

Więc jestem tutaj się coś złego, nawet pojedyncze kliknięcie działa doskonale i długo kliknięcie też działa, ale problemem jest to, że po długim kliknięciem zdarzenie jej również rozpocząć główną działalność, jak określono w powyższym kodzie onClick metoda ..

To nie powinno być zrobione, zwrot jest również fałszywy, wciąż nie działa tak, jak chcę .. Więc, proszę, pomóż mi rozwiązać ten problem.

Dzięki z góry ..

+0

Na pewno zrobię to samo, ponieważ otrzymuję idealną odpowiedź .. Dzięki! –

Odpowiedz

26

wierzę trzeba zamianTRUE w onLongClick metody - konieczne jest mówienie, że ramy dotykowy zdarzenie jest konsumowane i żadnych dalszych obsługę zdarzeń.

homebutton.setOnLongClickListener(new OnLongClickListener() { 
    public boolean onLongClick(View arg0) { 
     Toast.makeText(getApplicationContext(), "Long Clicked " , 
       Toast.LENGTH_SHORT).show(); 

     return true; // <- set to true 
    } 
}); 
+0

Dzięki kumplowi, działało idealnie .. głupi błąd w rozumieniu kodu .. ale dzięki .. –

+0

Czy to było API Maps v1? Pracuję z v2; to 'OnMapLongClickListener', a metoda' onMapLongClick (LatLng pos) 'zwraca' void'. –

Powiązane problemy