user710502
user710502

Reputation: 11471

OnTouch not Firing

I am new to Android and I am trying to hide an image, but it seems the OnTouch is not being fired, can anyone please point me in the right direction?

Thank you

public class GameActivity extends Activity {    
/** Called when the activity is first created. */ 
//GameView theView;
@Override  
public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);
    //theView = new GameView(this);
    //theView.setBackgroundResource(R.layout.myviewlay);
    setContentView(R.layout.myviewlay);

  }
public boolean onTouch(View view,MotionEvent event)
{

         ImageView image = (ImageView) findViewById(R.id.ImageView03);
         image.setVisibility(View.INVISIBLE);
         view.invalidate();  
         return true;
}

}

Upvotes: 2

Views: 2909

Answers (2)

Howard
Howard

Reputation: 3848

Setting event listener on ImageView enables you to find the image you touched.

ImageView imageView = (ImageView) findViewById(R.id.Image01);
            imageView.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    // do your event here.
                }
            });

            imageView.setOnTouchListener(new OnTouchListener() {
                public boolean onTouch(View v, MotionEvent event) {
                    // TODO Auto-generated method stub
                    return false;
                }
            });

Upvotes: 0

Howard
Howard

Reputation: 3848

Override OnTouchEvent fixes your issue.

@Override
    public boolean onTouchEvent(MotionEvent event) {
        // TODO Auto-generated method stub
        int action = event.getAction();
        if(action == MotionEvent.ACTION_DOWN){
            ImageView image = (ImageView) findViewById(R.id.ImageView03);
            image.setVisibility(View.INVISIBLE);
        }
        return super.onTouchEvent(event);
    }

Upvotes: 4

Related Questions