Why can't I execute both onClick and onTouch simultaneously?
<p>Disclaimer: I have already tried following similar threads (namely <a href="https://stackoverflow.com/questions/30125390/how-can-i-use-onclicklistener-in-parent-view-and-ontouchevent-in-child-view">How can I use OnClickListener in parent View and onTouchEvent in Child View?</a> and <a href="https://stackoverflow.com/questions/22912291/how-can-i-get-both-onclick-and-ontouch-listeners">How can i get both OnClick and OnTouch Listeners</a>), yet my code still fails to work.<br>
I have a (parent) activity which contains a (child) view. Activity has all the network code, while view contains a bitmap displaying game state. View executes the game moves and draws them, while activity sends and receives the moves. <br>
As such, I need to listen for player's actions on the bitmap, handle them there and immediately after it is handled in the view, I need to send the made move to the server. So the best way I've found to handle all that so far is by using onClickListener along with onTouchListener. But I've spent 4 hours and can't get this to work, so any help would be appreciated.<br>
My parent onClick:</p>

<pre><code>gameView.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                //gameView.performClick();
                sendMove(theGame.getLastMove());
            }
        });
</code></pre>

<p>My child view:</p>

<pre><code>@Override
    public boolean onTouchEvent(MotionEvent event)
    {
        if(canIMove) {
            float x = event.getX();
            float y = event.getY();
            int recWidth = this.getWidth() / 7;
            int currentWidth = 0;
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    if (x &gt; currentWidth &amp;&amp; x &lt; currentWidth + recWidth)
                    {
                        //Bitmap touched
                        theGame.Move();
                        ReloadGameBoard();
                    }
                return true;
            }
        }
        return false;
    }
</code></pre>

<p>It matters not whether I try to <code>performClick()</code> in <code>onClick</code> or in <code>onTouch</code>, it doesn't also matter whether I return true or false in <code>onTouch</code>, it doesn't matter whether I put it in <code>ACTION_DOWN</code> nor <code>ACTION_UP</code>, the result is always the same: child View <code>onTouch</code> gets executed and parent <code>onClick</code> does not.
And please, if you decide to downvote this, at least tell me why.</p>