1


1

古い質問(すでにMarkが答えています - 答えはgetTag()を使うことです):

ImageViewとTextViewを持つ各行のカスタムレイアウトを持つListViewがあるとしましょう。 さて、クリックが行われると、ビューに基づいてどの画像とどのテキストビューがクリックされたかを判断することができますが、別のアクティビティを伝えるためにこの情報を渡さなければならない場合、位置が必要です。 しかし、リストビュー内でクリックされたアイテムの位置をどのように取得するのですか?

改訂された質問:

私は次のようにしています:ImageViewとTextViewを持つカスタムListView。 画像がクリックされたのかテキスト要素がクリックされたのかに応じて異なる動作を実行したいと思います。 今、私はイベント処理を実行するために取ることができる2つのアプローチがあります:

アプローチ1:OnItemClickリスナをListView内の項目に添付して適切なアクションを実行します。 問題:どの要素(画像またはテキスト)がクリックされたのかという点に関しては、まだ疑問が残ります。 どのようにしてこの情報を決定してから必要な行動をとるでしょうか。

アプローチ#2:OnClickリスナを各リストビューアイテム内の画像とテキストに別々に添付してから適切なアクションを実行します。 問題:私はこのアプローチの実行について非常に懐疑的です。 それに加えて、クリックが実行されたとき、アイテムの行は強調されていないため、非常に直感的ではありません。 この場合、どのように行を強調表示するのですか。

助言がありますか?

1 Answer


4


`+ setTag()`で行(またはそのウィジェットの1つ)に位置をアタッチし、必要に応じて ` getTag()+`で位置を取得します。