3 回答

TA貢獻(xiàn)1824條經(jīng)驗 獲得超8個贊
設(shè)置您ImageButton的屬性:
android:focusable="false"
因為AbsListView.onTouchEvent檢查child.hasFocusable()。

TA貢獻(xiàn)2036條經(jīng)驗 獲得超8個贊
我已經(jīng)在SDK級別8和16上測試了以下解決方案。
在 getView()
setFocusable(false);
setClickable(false);
而不是在Adapter's中將它們設(shè)置為true會getView()執(zhí)行我認(rèn)為原始問題想要的事情,并且意味著OnItemClickListener只要OnClickListener未在中設(shè)置an,就會調(diào)用an getView()。
我假設(shè)任何事情,你可以做一個查看的OnClickListener,你可以在做很容易ListView的OnItemClickListener。(setOnClickListener在View上隱式地將視圖設(shè)置為可點擊的,這顯然防止了ListView的相應(yīng)視圖被OnItemClickListener調(diào)用。)
ImageButton就按下或翻轉(zhuǎn)項目時的視覺狀態(tài)而言,行為是人們所期望的。
解決方案是一個小小的錯覺,因為列表項被按下的不是其ImageButton本身,因此,如果按鈕沒有占據(jù)整個列表項,則單擊該項目的其他位置仍將使按鈕的可繪制狀態(tài)反映該單擊。焦點相同。那可能是值得付出的代價。
添加回答
舉報