当我调用此函数时,应用程序崩溃,当注释setImageResource()行时,应用程序没有崩溃

时间:2017-07-11 05:19:25

标签: java android

public void playAgain(View view)
{
    LinearLayout playAgainLayout = (LinearLayout) findViewById(R.id.playAgainLayout);
    playAgainLayout.setVisibility(View.INVISIBLE);
    activePlayer = 0;
    for (int i=0;i<=8;++i)
    {
        gameState[i]=2;
    }
    GridLayout grid = (GridLayout) findViewById(R.id.gridLayout);

    for (int i=0;i<=grid.getChildCount();++i)
    {
        ((ImageView) grid.getChildAt(i)).setImageResource(R.drawable.transp);
    }
}

1 个答案:

答案 0 :(得分:1)

首先,您需要发布异常。第二,问题来自三个部分之一。

  1. grid.getChildAt(i)可能是null
  2. grid.getChildAt(i)可能不是您正在解析的ImageView
  3. (R.drawable.transp)的地址错误
  4. 注释整个堆栈跟踪以找出问题。