How can I add a event OnTouchListener
and OnclickListener
at a time in LinearLayout
?
Here is my code but doesn't work
final LinearLayout llTimeTable=(LinearLayout) findViewById(R.id.llSehriIftar);
llTimeTable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Ramadandate.class);
startActivity(intent);
}
});
llTimeTable.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
llTimeTable.setBackgroundColor(Color.rgb(51, 51, 255));
break;
case MotionEvent.ACTION_UP:
// set color back to default
llTimeTable.setBackgroundColor(Color.rgb(76, 106, 225));
break;
}
return true;
}
});
But when I only use OnclickListener
it works, and when I use only onTouch
method it works, but both at the same time doesn't work.
Since Touch Event is more general, it is called first, then the onClick
gets fired, however, since your onTouch returns true, the event is consumed and onClick
is never reached.
Simply change onTouch
to return false
and your onClick will be called.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With