如何以编程方式在android应用程序中添加视图

问题描述:

我一直试图在我的android应用程序中添加视图,但它一直抛出异常。 我添加的视图是一个包含imageview和3个textview的嵌套线性布局的线性布局。我将它添加到的视图是带有复选框,2个textview和带有按钮和editText的嵌套相关布局的LinearLayout。如何以编程方式在android应用程序中添加视图

他们在单独的xml文件中,我夸大了我添加的视图。然而,当我打电话addView(),它会引发以下异常:

九月六日至10日:24:33.094:ERROR/AndroidRuntime(5743):了java.lang.RuntimeException:无法恢复活动{融为一体。 projects.twitterOAuth/com.projects.twitterOAuth.twitterOAuth}:java.lang.IllegalStateException:指定的子项已具有父项。您必须先调用子对象的父对象的removeView()。

当您膨胀您的子视图时,请确保parent参数(最后一个)设置为空。

+0

感谢您的回复。我已经将它设置为null: \t \t LinearLayout fpost =(LinearLayout)inflater.inflate(R.layout.fpost,null,true); 我试过它有没有最后一个参数,但由于某种原因,当我在调试过程中检查它,当我调用fpost.getParent()时,它仍然有一个LinearLayout设置为其父级。 – confused 2011-06-10 17:37:50

+0

我喜欢用'View.inflate()'方法。就像'View.inflate(this,R.layout.fpost,null)'。但在你的情况下,给它最后一个参数'false'不要附加到根。 – 2011-06-10 17:45:53