2016-09-23 37 views
1

在ListView中點擊某行時很容易做一些事情。但是在該行中添加其他內容(如Button或其他控件),其中包含一個OnClickListener,並且在單擊該行時突然沒有任何反應。在行中單擊ListView行和Button的可訪問方法?

在關閉此問題之前,我完全意識到存在一些關於該問題的StackOverflow問題。他們通常建議在包含行視圖的ViewGroup上設置Button android:focusable =「false」或設置android:descendantFocusability =「blocksDescendants」。

這些工作,但一個問題:如果您使用鍵盤(Tab鍵或箭頭鍵)導航,它會跳過按鈕。

有沒有辦法解決問題,並允許人們「點擊」行或按鈕,而不必實際點擊觸摸屏?

+0

實現按鈕clickListener爲每一行,並在適配器中創建。 – AmmY

+0

爲此,您需要爲每行的按鈕和主父視圖實現點擊偵聽器,它將幫助您 – Vickyexpert

回答

0

在每行上設置OnClickListener(而不是爲ListView設置項目單擊偵聽器)沒有幫助。

我找到了一些更多的信息,如使用ListView.setItemsCanFocus(真)Using Android, how can I select rows from a ListView which contains Button controls和使用beforeDescendants Focusable EditText inside ListView,但不能同時獲得行和鍵與鍵盤使用。

但我想我嘗試用鍵盤測試Gmail。我無法找到將行標記爲最愛的方法(選擇星號)。顯然,即使他們沒有完全訪問它!好吧。我想是失敗的原因。