2012-01-12 8 views
1

リストビューがあり、各アイテムにはクリック可能なテキストビューがあり、クリックすると2つのボタンに変わります私は全体のアイテムがクリックイベントに応答する必要がありますtextviewの外。clickviewサブビューがあるリストビューアイテムは、アイテムのサブビューにclickイベントを渡すことができません

私はまだインターネットから何かを得るためにワーカースレッドを持っています、そして、リストビューを更新してください。 ワーカースレッドがリストビューのアダプターnotifydatasetchangeに通知すると同時に、リストの項目のtextviewをクリックしますが、奇妙なことが起こると、テキストビューをクリックしますが、項目全体がクリックに反応します。

これはリストビューのリサイクルメカニズムが原因であることがわかりました。 通常の居場所では、notifydatasetchangedが実行されると、リストビューは前に通知されたイベントを放棄します。しかし、何度かそれはあきらめない。しかし、私はこれを避けるためにいくつかの回避策があるのを知りたいですか?私はlistviewのアイテムがnotifydatasetchangeの前に投稿されたイベントを放棄できることを願っています。

+0

質問を改善できますか?それをより明確にする。ありがとうございます –

答えて

4
<RelativeLayout 
    … 
    android:descendantFocusability="blocksDescendants" 
> 

    <Button 
     … 
     android:focusable="false" 
    /> 

</RelativeLayout> 
+0

'listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL)' _does_もこのアプローチで動作します。どうもありがとうございます! – sulai

関連する問題