近期一個項目中須要開發一種相似表格的界面來顯示和配置參數,Android並沒有直接相似表格的控件支持,我採用了ListView中佈局EditText和TextView來實現,其中TextView用來顯示參數表示符,EditText用來顯示參數值,用一個自定義AlertDialog彈出顯示,以下圖所示。html
開發出來的APK軟件,在手機上操控是OK的,但在電視上沒法操控,具體表現爲:android
1 經過設置focus停在ListView上,解決ListView沒法點擊的問題。方法以下佈局
2 關於問題2和3,自己和1就是互斥的,例如我將焦點手動設置到EditText上,此時沒法響應點擊ListView,更要命的,邏輯徹底混亂,例如我按向下鍵時,光標停留在第一欄,而焦點已經已跟隨遙控移動到了 下一欄,此時按OK鍵,修改的仍是光標停留的那一欄的數據,如圖3所示。 最終通過反覆嘗試,下述解決方法得以解決。spa
解決方法:在ListView中setOnItemSelectedListener的onItemSelected 和 onNothingSelected分別輸入下述代碼3d
3 關於問題4,沒法調出輸入法問題,網上介紹的零零總總,絕大部分都是無用的,僅有一種方法是OK,原文連接在這,解決方法以下:htm
1 關於android:descendantFocusability,有三個屬性值,簡述以下表,詳述可參考這篇博文說明。blog
beforeDescendantsci |
viewgroup會優先其子類控件而獲取到焦點開發 |
afterDescendantsget |
viewgroup只有當其子類控件不須要獲取焦點時才獲取焦點 |
blocksDescendants |
viewgroup會覆蓋子類控件而直接得到焦點 |