【发布时间】:2016-07-15 02:04:11
【问题描述】:
我正在尝试更改 ListView 中某些项目的颜色。它因 NullPointerException 而崩溃,我不完全确定为什么,我认为这是因为适配器尚未创建视图/将视图添加到 ListView,因此它试图检索不在数组中的项目。只要列表上至少有 1 项,我就可以完美地添加彩色项目。我该如何解决这个问题?
int index = 0;
for(ItemEntry i: tentry) {
adapter.add(i.Name); // Adding to Adapter
adapter.notifyDataSetChanged(); // Telling it I've done so
long time = TimeUnit.MILLISECONDS.toDays(i.Date.getTime() - System.currentTimeMillis());
ListView stuff = (ListView) this.findViewById(R.id.contentsList);
if( time < 0 ) {
stuff.getChildAt(index).setBackgroundColor(Color.RED); // Null exception
} else if( time < 1 ) {
stuff.getChildAt(index).setBackgroundColor(Color.RED); // Null exception
} else if( time < 2 ) {
stuff.getChildAt(index).setBackgroundColor(Color.YELLOW); // Null exception
}
index++;
}
【问题讨论】:
标签: android listview android-adapter