我从.txt文件中读取值并使用ArrayAdapter将它们放在GridView中,它完美地运行。 但我想根据项目的价值更改项目的颜色。
例如: 1是格雷 2是红色 3是蓝色 4是......
但是我无法更改GridView中单个项目的backgroundColor,只能更改整个GV。
GridView gv = (GridView) findViewById(R.id.gvSpeelveld);
gv.setBackgroundColor(Color.GREEN);
这种尝试是不成功的
//View is null
View v = gv.getChildAt(2);
v.setBackgroundColor(Color.CYAN);
但是如何才能获得单个gridView的不同项? for循环非常有用。
答案 0 :(得分:0)
在适配器的getView(int position, View view, ViewGroup parent)
方法中,获取给定位置的项目值(使用位置参数)。然后使用类似switch-case的东西并为该网格项设置backgroundcolor。
像这样。
//说你在getView方法中得到了项的值......
switch(value){
case 1:
view.setBackgroundColor(Color.GRAY); //grey
break;
case 2:
view.setBackgroundColor(Color.RED); //red
break;
}
//so on