1

3〜4個のアイテム(ボタン、ImageViewなど)で定義されたビューがあります。ビューには onLongClickListener が定義されています。

view.setOnLongClickListener(new OnLongClickListener() { ... }

ビューの空の部分を長押しする限り、これはうまく機能しますが、たとえば画像を長押しすると、長押しはトリガーされません。

Android には、要素ごとに onLongClick リスナーを定義する必要なく、子要素にイベントを「渡す」ようにする方法はありますか?

4

1 に答える 1

1

カスタムクラスでオーバーライドするか、リスナーを作成してそれを渡すことなく、それを行うことはできないと思います。次のようなことを行う OnLongClickListener の単一のインスタンスを定義して、それらすべてに渡すことができます

((View.OnLongClickListener)view.getParent()).onLongClick(view)

また

((View.OnLongClickListener)view.getParent()).onLongClick(root.getParent())
于 2012-10-15T16:55:14.807 に答える