Android 将自定义布局添加到活动';动态布局

Android 将自定义布局添加到活动';动态布局,android,Android,我有一些自定义的线性布局s,我想动态添加到活动的主相对布局。 这是我的自定义布局之一: public class MyLayout1 extends LinearLayout {...} 这是它的my_layout_1.xml文件: <?xml version="1.0" encoding="utf-8"?> <***myPackageName***.MyLayout1 xmlns:android="http://schemas.android.com/apk/re

我有一些自定义的
线性布局
s,我想动态添加到
活动
的主
相对布局
。 这是我的自定义布局之一:

public class MyLayout1 extends LinearLayout {...}
这是它的
my_layout_1.xml
文件:

<?xml version="1.0" encoding="utf-8"?>
<***myPackageName***.MyLayout1 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
......
</***myPackageName***.MyLayout1>
代码工作正常。
但是,当我在自定义的
MyLayout1
类中使用
findViewById(…)
函数时,它会为所有视图返回
null
。如何绑定
.xml
文件和Java类?我认为在
.xml
中添加包+类名就足够了,但我错了。 我也试着打电话

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.my_layout_1, null);

MyLayout1
类中,但是
android.view.InflateException:Binary XML文件行#2:Error-inflating-class
错误消息显示在日志窗口中。

如果需要调用
findViewById()
要访问layout.xml文件中声明的视图实例,需要在中执行此操作。一旦视图完成充气,就会调用该函数。在该函数中,您可以成功地使用
findviewbyd()
。当视图膨胀时,在构造函数中使用
findViewById()
时,子视图将尚未实例化和添加。这就是它返回null的原因。

如果需要调用
findviewbyd()
来访问layout.xml文件中声明的视图实例,则需要在中执行此操作。一旦视图完成充气,就会调用该函数。在该函数中,您可以成功地使用
findviewbyd()
。当视图膨胀时,在构造函数中使用
findViewById()
时,子视图将尚未实例化和添加。这就是它返回null的原因。

你是说findViewById()(否)你是如何获得类中的代码的?它在构造函数中吗?在从其他地方调用的方法中?您需要确保“this”引用了从XML膨胀并添加到相对布局的视图。在构建视图时,尚未添加子视图。您将不得不推迟到以后再尝试查找它们。您可能可以在OnFinishedFlate中或在对onLayout的第一次调用中找到视图(请确保调用相应的super.*方法)。您是说findViewById()(no s)您如何获得类中的代码?它在构造函数中吗?在从其他地方调用的方法中?您需要确保“this”引用了从XML膨胀并添加到相对布局的视图。在构建视图时,尚未添加子视图。您将不得不推迟到稍后再尝试查找它们。您可能可以在OnFinishedFlate中或在第一次调用onLayout时找到视图(请确保调用相应的super.*方法)
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.my_layout_1, null);