私は最初のアンドロイドアプリケーションを作成しようとしていますが、私にとってはあまりにも神秘的なので、私は尋ねています。Androidのイベント。私のクラス/オブジェクトのイベントをキャッチする方法は?
私のプログラムでは、FrameLayout
とサークルが使用されています。背景をクリックすると、新しいサークルが表示されます。それは簡単です。 MainActivity
で私はちょうどFrameLayout.setOnTouchListener
と設定しました。それで大丈夫です。
でも、触ったときに円を削除したいと思います。私のサークルにはより多くのプロパティがあるので、自分のクラスを作成してBallという名前を付けました。このBallクラスはView
クラスを拡張し、OnTouchListener
を実装します。私はメソッドを追加しました:
boolean onTouch(View arg0, MotionEvent arg1)
これも機能します。しかし、私のプログラム(FrameLayout.onTouch
とBall.onTouch
)で両方のイベントを捕まえたいのであれば、1つだけがキャッチされます。私はどこをクリックしても問題ありません。私のプログラムは常に私がバックグラウンドをクリックしたものです。
私はそれで何をするか分からない:(
ボールは(コンストラクタはそれをしない)、このように追加されます。
mPaint.setColor(c);
this.x = x;
this.y = y;
this.r = r;
そしてコンストラクタが呼び出されます。
myNewBall = new Ball(x,y,r,c)
そして、ボールがFrameLayoutに追加されます。
myLayout.addView(currentBall);
お元気ですか?
これは私が体系的ではないと思うものです。私はボールオブジェクトがそれ自身のイベントを管理することを望みます。内部的に。外部から処理されるイベントではない..しかし、アンドロイドが私が想定しているようにイベントを処理することができない場合、これが唯一の方法です。 – Racky