2012-01-12 67 views
1

我有一個列表視圖,每個項目有一個可點擊的文本視圖,當我點擊文本視圖,然後將其更改爲兩個按鈕,如果我點擊在textview之外,我需要整個項目可以響應點擊事件。listview item with clickable subview sometime can not pass the click event to the item's subview

我還有一個工作線程從互聯網上得到東西,然後更新列表視圖。 當一個工作線程通知列表視圖的適配器notifydatasetchange,同時,我點擊列表項中的textview,但奇怪的事情發生,我點擊textview,但整個項目響應點擊。

我知道這是由listview的回收機制造成的。 在正常情況下,當notifydatasetchanged發生變化時,listview會放棄之前發佈的事件。但有時它不會放棄。但我想知道是否有一些workround以避免這種情況?我希望listview的項目可以放棄在notifydatasetchange之前發佈的事件。

+0

你能改善你的問題嗎?使其更清楚。謝謝 – 2014-06-18 15:53:35

回答

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

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

</RelativeLayout> 
+0

即使'listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL)'_does_也可以使用這種方法。非常感謝! – sulai 2013-04-24 13:36:28

相關問題