在GridView中获取不同的项目

时间:2014-01-26 13:48:28

标签: android gridview colors items

我从.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循环非常有用。

View app

1 个答案:

答案 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