我有一些LinearLayout
我想动态添加到Activity
main的 custom RelativeLayout
。这是我的自定义布局之一:
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>
RelativeLayout
我使用以下代码将自定义布局添加到:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
View view = getLayoutInflater().inflate(R.layout.my_layout_1, mainLayout, false); //mainLayout is the id of the main RelativeLayout
mainLayout.addView(view, params);
代码工作正常。
但是当我findViewById(...)
在自定义类中使用函数时MyLayout1
,它会返回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 file line #2: Error inflating class <unknown>
错误消息显示在日志窗口中。