0

いいえ、誰もその質問に答えておらず、問題はまだ残っています... この質問は、同じ問題の別の症状に関するものです (以下のコメントを参照してください)。


少なくとも Monodroid では、レイアウトからカスタム ビューをインフレートするときに、例外を取得しないために ViewGroup (つまり、LinearLayout) でラップする必要がある場合とそうでない場合があります。

誰かがこの状況に精通しているかどうか、そしてそれが「生の」Android (つまり、モノドロイドではない) でも発生するかどうか疑問に思っていました。

のように、私はいつも最初になしで試します

TextView1.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 です。

4

1 に答える 1