2011-03-17 76 views
0

我想提出一个布局内的另一个布局,但我这样做时,它relLayout.addView(squareLayout);线如何将布局放入另一个布局?

for (int i = 0; i < 6; i++) { 
    for (int j = 0; j < 7; j++) { 

     RelativeLayout relLayout = (RelativeLayout) findViewById(relIds[i][j]); 
     relLayout.removeAllViews(); 

     RelativeLayout squareLayout = (RelativeLayout) findViewById(R.id.square); 
     relLayout.addView(squareLayout); 
    } 
} 

请告诉我,我应该怎么办给出NullPointerException

+1

我们需要你的XML文件。另外,这是什么“relIds”?你应该使用LogCat来找出哪两个布局是空的。 – Klaus 2011-03-17 12:09:22

+0

,因为它声明它在'relLayout.addView(squareLayout)'上给出'NullPointerException';'squareLayout应该为null。你有没有设置setContentView,是你的主布局的“方形”视图部分? – pankajagarwal 2011-03-17 13:48:30

回答

1

relLayout在访问removeAllViews()方法时不为空。所以无论是findViewById()还是另一个线程都会将null设置为relLayout实例。

+0

为什么它应该是6?如果你说它是6,那么可能会有'ArrayIndexOutOfBoundsException'而不是'NullPointerException'。编辑你的答案,并使其正确,然后我会退出投票。 – 2011-03-17 12:42:56

+0

@vikas:你说得对... – 2011-03-18 07:33:59

+0

这是个好人。我很欣赏这一点。 – 2011-03-18 07:42:51

0

使用不当relIds [] []没有初始化可能也造成空指针异常

相关问题