在android中创建类似网格的动态视图

在android中创建类似网格的动态视图,android,android-layout,android-linearlayout,Android,Android Layout,Android Linearlayout,为了在android中创建类似图像的结构,我尝试了以下代码 但是显示这个错误。请帮忙 我的代码看起来像 public void setValues(){ LinearLayout table=(LinearLayout)findViewById(R.id.mainWrap); LinearLayout row=new LinearLayout(this);; for(int i=0;i<5;i++){ if(i%2==0){

为了在android中创建类似图像的结构,我尝试了以下代码

但是显示这个错误。请帮忙

我的代码看起来像

public void setValues(){

    LinearLayout table=(LinearLayout)findViewById(R.id.mainWrap);

    LinearLayout row=new LinearLayout(this);;
    for(int i=0;i<5;i++){

        if(i%2==0){

        row= new LinearLayout(this);
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
        row.setLayoutParams(lp);
        }


        FrameLayout layout = new FrameLayout(this);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams((width/2)-10,(height/2)-10);
        params.setMargins(5, 5, 5, 5);
        layout.setLayoutParams(params);

        if(i%2==0){
        layout.setBackgroundColor(Color.parseColor("#CACACA"));
        }
        else {
            layout.setBackgroundColor(Color.parseColor("#333333"));
        }

        ProgressBar pr=new ProgressBar(this);
        FrameLayout.LayoutParams params_p = new FrameLayout.LayoutParams((width/6),(width/6));
        params_p.gravity=Gravity.CENTER;
        pr.setLayoutParams(params_p);
        layout.addView(pr);



        ImageView im=new ImageView(this);
        FrameLayout.LayoutParams params_im = new FrameLayout.LayoutParams((width/2),(width/2));
        im.setImageResource(R.drawable.man);

        im.setLayoutParams(params_im);
        layout.addView(im);

        row.addView(layout);
        table.addView(row);
    }


提前感谢

我感觉问题在这里:

  LinearLayout row=new LinearLayout(this);;
  for(int i=0;i<5;i++){
LinearLayout行=新的LinearLayout(此);;

对于(int i=0;i哪一行给了你错误?在运行此代码时,发生了致命错误并使应用程序崩溃OK,我理解,但哪一行给了你这个错误?看看你的错误日志,这很明显。现在去看看堆栈跟踪,看看你的应用程序中崩溃对应的是哪一行。我是android新手,如何找出哪一行制造错误?
  LinearLayout row=new LinearLayout(this);;
  for(int i=0;i<5;i++){