99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Android ListView的焦點(diǎn)問(wèn)題

2023-03-31 13:42 更新

本節(jié)引言

如果你往ListView的Item中添加了Button,CheckBox,EditText等控件的話(huà),你可能需要考慮 到一個(gè)問(wèn)題:ListView的一個(gè)焦點(diǎn)問(wèn)題!本節(jié)我們就來(lái)學(xué)習(xí)下解決這個(gè)問(wèn)題的幾個(gè)方法!

我們可以寫(xiě)個(gè)簡(jiǎn)答的listView,上面有一個(gè)Button,CheckBox,EditText,但是當(dāng)我們點(diǎn)擊發(fā)現(xiàn), ListView的item點(diǎn)擊不了,觸發(fā)不了onItemClick的方法,也觸發(fā)不了onItemLongClick方法, 這個(gè)就是ListView的一個(gè)焦點(diǎn)問(wèn)題了!就是ListView的焦點(diǎn)被其他控件搶了,下面我們來(lái)看看如何 解決這個(gè)問(wèn)題?


方法1:為搶占了控件的組件設(shè)置:android:focusable="false"

如題,只需為搶占了ListView Item焦點(diǎn)的控件設(shè)置android:focusable="false"即可解決這個(gè)問(wèn)題 或者在代碼中獲得控件后調(diào)用:setFocusable(false) !!另外,EditText卻不行,如果我們?cè)O(shè)置了android:focusable="false",這B可以獲取焦點(diǎn)但是一下子 又失去了焦點(diǎn),而且也不會(huì)彈出小鍵盤(pán),暫不知道如何解決,聽(tīng)別人說(shuō)是ListView的一個(gè)bug,如果 有知道解決方法的歡迎告知下,謝謝~


方法2:item根節(jié)點(diǎn)設(shè)置android:descendantFocusability="blocksDescendants"

如題,在Item布局的根節(jié)點(diǎn)添加上述屬性,android:descendantFocusability="blocksDescendants" 即可,另外該屬性有三個(gè)可供選擇的值:

  • beforeDescendants:viewgroup會(huì)優(yōu)先其子類(lèi)控件而獲取到焦點(diǎn)
  • afterDescendants:viewgroup只有當(dāng)其子類(lèi)控件不需要獲取焦點(diǎn)時(shí)才獲取焦點(diǎn)
  • blocksDescendants:viewgroup會(huì)覆蓋子類(lèi)控件而直接獲得焦點(diǎn)

本節(jié)小結(jié):

好的,以上就是解決ListView焦點(diǎn)問(wèn)題的兩個(gè)方法,非常簡(jiǎn)單,如果有關(guān)于EditText 焦點(diǎn)問(wèn)題解決方案的歡迎提出,謝謝~

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)