我在src>中有自定义视图myproject.test> HomeView
在我的主布局xml中,我有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/home_root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<myproject.test.HomeView
android:id="@+id/home_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</myproject.test.HomeView>
</LinearLayout>
在HomeActivity中,我在onCreate方法中有这样的调用。
setContentView(R.layout.main);
HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view);
调用setContentView方法时,app force关闭。似乎我的主要xml不正确。
有什么想法吗?
答案 0 :(得分:2)
你的意思是它没有进入
HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view);
然后崩溃了?
检查你的构造函数是否
HomeView(final Context context, final AttributeSet attrs){
super(context, attrs);
而不是
HomeView(final Context context){
super(context);
你需要AttributeSet
答案 1 :(得分:0)
检查HomeView实现的构造函数:
public HomeView(Context context, AttributeSet atts) {
super(context, atts);
}
答案 2 :(得分:0)
<LinearLayout xmlns:android =
http://schemas.android.com/apk/res/android"
android:id="@+id/home_root"
android:orientation="vertical"
我的所有布局都没有@+id
。也许您应该将视图设置为home_root
。请与您联系 R.java 获取布局名称,或尝试
setContentView(R.layout.home_root);