2011-01-18 9 views
4

ImageViewとTextViewを持つカスタムビューがあり、カスタムビューのonClickListenerが実装されています。 問題は、ImageViewがonClickイベントを消費しているということです(私は、ユーザーが自分のコントロールをどこでもクリックできるようにしたい)。私はイメージ/テキストビューのonClickも聞くことができましたが、それは私には汚れているようです。コントロールがonClickイベントを消費しているので、Androidルート/バブルイベント

Androidでイベントをバブル/ルートする方法はありますか?または別の良い解決策が可能ですか?

答えて

3

カスタムビューでonClickListenerを設定しましたか?

カスタム表示をクリック可能に設定します。

子ビューでクリックリスナーを設定することはお勧めできません。

今すぐ使用できますか?

+0

ありがとう! setClickableは仕事をしました! – ShadowMare

9

View.onClick()イベントはバブルしません。 2つの解決策:あなたの子ビュー上

  1. 登録OnCLickListenerと親にperformClick()を呼び出すことにより、イベントを渡します。

  2. OnTouchListenerを使用してください。子ビューのonTouch()メソッドでは、ちょうどfalseが返されます。これは、クリックをエミュレートするためにタッチダウン&持ち上げを考慮する必要があるので、より多くの作業です。

+0

ありがとうございます。私はあなたとペドロサの答えの組み合わせを試してみましょう! – ShadowMare

+1

私は最初の方法を使ってこれを稼働させました – ajma

+0

親が子どもによって覆われている場合、これは使用可能な解決策です。単に「クリック可能」と設定するだけではそのような状況はありませんが、親の部分に到達可能な場合に役立ちます。 ここでは私のために働き、最小のコードが必要です:http://stackoverflow.com/a/18959830/189764 – Atorian

関連する問題