2

私は現在、グリッドビューを持っています

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 ループに到達したときにグリッドビューに子がないため、null 例外エラーがスローされることです。

ただし、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