不,没有人回答这个问题,问题仍然存在......这里的这个问题是关于同一问题的另一种症状(请参阅下面的评论):
至少在 Monodroid 中,当从布局中扩展自定义视图时,有时需要将其包装在 ViewGroup(即,LinearLayout)中以避免异常,而其他时候则不需要。
我想知道是否有人熟悉这种情况,以及它是否也发生在“原始”Android 中(即没有 Monodroid)?
我总是先尝试不使用,如
文本视图1.axml
<?xml version="1.0" encoding="utf-8"?>
<Monodroid.Activity1.TextView1
android:id="@+id/text_view1"
android:layout_width="300dp"
android:layout_height="50dp"/>
但如果我得到一个通货膨胀例外,那么我将不得不把它包起来
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Monodroid.Activity1.TextView1
android:id="@+id/text_view1"
android:layout_width="300dp"
android:layout_height="50dp"/>
</LinearLayout>
在哪里
public class TextView1 : TextView
{
public TextView1 (Context context) : base(context) { }
public TextView1 (Context context, IAttributeSet attributes) : base(context, attributes) { }
public TextView1 (Context context, IAttributeSet attributes, int defStyle) : base(context, attributes, defStyle) { }
}
谢谢你。
此布局文件在不包含视图组的情况下膨胀:
<?xml version="1.0" encoding="utf-8"?>
<fieldinspection.droid.views.custom.FieldInput
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RecordDataFieldInput"
style="@style/FieldInput"
android:layout_marginRight="0dip"/>
而这个(内部类PagedFragmentFieldInput)没有(它需要在LinearLayout中,否则通货膨胀异常):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_record_data_field_input2_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<FieldInspection.Droid.Views.ComplaintView.PagedFragmentRecordDataFieldBox.PagedFragmentFieldInput
android:id="@+id/RecordDataFieldInput"
style="@style/FieldInput"
android:layout_marginRight="0dip"/>
</LinearLayout>
它读作 PagedFragment-RecordDataFieldBox,它是一个位于 ViewPager 内的 Fragment 内的 RecordDataFieldBox。