SlidingDrawerを備えたRelativeLayoutがあります。引き出しをメニューとして使っています。ドロワー内のアイテムをクリックすると、ImageViewがRelativeLayoutに追加されます。ImageViewを動かせるようにしたいと思います。
SlidingDrawerのメニュー項目ごとにClickListenerを使用しています。この部分はうまく機能します。私がRelativeViewに追加するオブジェクトには、TouchListenerを設定します。追加するImageViewに対して、TouchListenerを設定しました。ただし、1つのImageViewを追加すると、メニュー項目は機能しなくなります。TouchListenerが制御を引き継ぎ、ClickListenerがバイパスされます。
コードは次のとおりです。
OnClickListener navClickListener; //This is set for each menu item
OnTouchListener objectTouchListener //This is set for each new ImageView
navClickListener = new OnClickListener(){
@Override
public void onClick(View v){
performClickAction(v);
}
};
objectTouchListener = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event){
performTouchAction(v, event);
return false;
}
};
TouchListenerがClickListenerをオーバーライドするのはなぜですか?それを回避するにはどうすればよいですか?