我有這種特殊的需要的項目範圍:更改背景顏色的ListView
當我點擊一個Button
,我ListView
的一些項目應該強調 - 通常是一個行或行範圍,而不是隨機元素 - 通過改變背景顏色。 Android提供這樣的功能嗎? 我想在我的自定義適配器中添加一個方法來設置一個行範圍,然後在getView
方法中添加一個檢查來決定是設置標準還是高亮背景,並最終通知適配器數據已更改,但我很確定有些東西可以在不重新填充整個ListView
的情況下實現。
我知道多重選擇,但我認爲它是完全不同的,不是嗎?
更新:使用list.getChildAt(pos).setBackgroundColor(Color.BLUE);
我得到一個NullPointerException
因爲它只含有可見的孩子,不是所有的項目。沒有其他解決方案嗎?
UPDATE2:查看我的回答。
我在那條線上得到一個NullPointerException,儘管我可以看到列表視圖並且它已經被填充了。我擔心發生這種情況的原因是,我試圖編輯的孩子在屏幕上不可見,但需要通過使其可見才能初始化,即使之前添加setSelection(pos)不起作用。 – Vektor88
請發佈您的listview和logcat輸出的代碼。 –
嘗試打印您的edittext值,看看您得到了什麼,然後將最終的EditText輸入= new EditText(getApplicationContext())更改爲最終的EditText輸入= new EditText(YourActivity.this) 然後運行您的程序。 –