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