Android中onItemClick事件不響應

來源:互聯網
上載者:User

標籤:android   listview   onitemclick   不響應   

最近在做一個點菜的Android應用,要用到ListView,我希望可以通過ListView中的Button對點過的菜進行操作如


我希望通過點擊加減改變菜品的總數量和左邊所顯示的菜品總價格

可是當我使用onItemClick方法時發現ListView不響應。。

這實在很坑

在網上找了很久看了無數篇的博文,解決方案大體以下兩種:

1.將ListView的Item Layout中的所有子控制項focusable屬性設定為false2.將item layout的根控制項設定屬性(推薦輕量級特別是修改別人的代碼)android:descendantFocusability=”blocksDescendant”這樣Item Layout就屏蔽了所有子控制項擷取Focus焦點的許可權,不需要針對Item Layout中的每一個控制項重新設定focusable屬性原因在於:若你的item中有button或者checkbox等控制項,預設情況下焦點focus是最先交給這些子控制項,而ListView的Item能被選中的基礎是它能擷取Focus焦點,所以,我們可以通過將ListView中Item中包含的所有控制項的focusable屬性設定為false,這樣ListView的Item就自動獲得了Focus焦點的許可權,也就可以被選中了,同時也會響應onItemClickListener中的onItemClick()方法。

還沒結束,我做了無數嘗試之後依然不響應。。最後發現問題的原因在於ListView的樣式檔案中,我使用了HorizontalScrollView而使用該種布局會導致以上的兩種解決方案均失效。。原因不明,假如有大神看到本菜鳥的博文,希望能指點一二。。
還有在ListView的樣式檔案的根布局假如使用了match_parent屬性那麼在你的整體展示的<ListView/>這個標籤中必須使用這個屬性。。否則就會報錯。。

Android中onItemClick事件不響應

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.