空調列表視圖我有我的代碼:如何更改項目的背景顏色由一個選項
AdapterView.OnItemClickListener listener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String elementoSeleccionado = parent.getItemAtPosition(position).toString();
Boolean realizado = getRealizadoPorElemento(elementoSeleccionado);
if (realizado == true){
actualizaRealizado(elementoSeleccionado,"N");
elementosList.getChildAt(position).setBackgroundColor(Color.TRANSPARENT);
} else if (realizado == false){
actualizaRealizado(elementoSeleccionado,"S");
elementosList.getChildAt(position).setBackgroundColor(Color.parseColor("#3DF400"));
}
}
};
這仍然工作,但問題就在這裏。
我有一個方法運行在列表視圖和更新一些與其他顏色:
ArrayList<String> elementos = LeerElementosLista();
if (elementos.isEmpty() == false) {
ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, LeerElementosLista());
elementosList.setAdapter(arrayAdapter);
Boolean realizadoelem = false;
int count = elementosList.getCount();
for (int i = 0; i < count; i++){
String elem = elementosList.getItemAtPosition(i).toString();
realizadoelem = getRealizadoPorElemento(elem);
if (realizadoelem == true){
elementosList.getChildAt(i).setBackgroundColor(Color.parseColor("#3DF400"));
}
}
} else {
//Toast.makeText(this, "No hay Listas para mostrar!!!", Toast.LENGTH_SHORT);
}
而且僅此行的第二個方法
elementosList.getChildAt(i).setBackgroundColor(Color.parseColor("#3DF400"));
不工作,在應用程序關閉,但我在控制檯中沒有錯誤。
提供logcat輸出 –