我目前有一个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 侦听器之外工作?