2

我目前有一个gridview

GridView gv;
         gv = (GridView)findViewById(R.id.gridView);
         gv.setNumColumns(RowsSplit[0].length());
         gv.setAdapter(new CustomAdapterClass(this, result));

结果是一个字符串数组。

然后我希望能够更改网格内某些项目的背景颜色。

for (int i : CorrectLetters)
{
    int temp2 = i;
    gv.getChildAt(temp2).setBackgroundColor(Color.CYAN);        
}

CorrectLetters 是一个数字数组,它们是我想要更改颜色的网格中项目的位置。

我得到的错误是,当它到达 foreach 循环时,gridview 中没有子级,因此它会引发空异常错误。

但是,如果我将 foreach 循环放入 onclick 事件中,如下所示,一切正常,

gv.setOnItemClickListener(new OnItemClickListener() 
  {        
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
            {  
                    //do stuff here
                 }
   }

所以我的问题是如何让这个 foreach 循环在 onclick 侦听器之外工作?

4

0 回答 0