请帮我解决android中的自定义布局问题

时间:2013-01-19 08:27:59

标签: android custom-component

java.lang.RuntimeException: Unable to start activity `ComponentInfo{com.example.demo/com.example.demo.Demo}: android.view.InflateException: Binary XML file line #7: Error inflating class com.example.component.MainActivity`
public class MainActivity extends FrameLayout {    
    public MainActivity(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }
}

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

</RelativeLayout>

Demo.java

public class Demo extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo);
    }


}

activity_demo.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
 >

  <com.example.component.MainActivity
    android:id="@+id/comp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
      />
</FrameLayout>

3 个答案:

答案 0 :(得分:0)

您无法在布局中放置活动。仅查看或查看组。

答案 1 :(得分:0)

充气器在创建视图类的实例时使用两个参数构造函数。你必须提供

public MainActivity(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
}

答案 2 :(得分:0)

由于Demo是您的Activity,请使用包名称在Android manifest.xml文件中定义它: com.example.demo.Demo。 为什么在frameLayout中添加framelayout只使用一个自定义framelayout。 并将xml定义为:

<com.example.component.MainActivity
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/comp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
 />

//希望它有效