Android findViewById在include的内部视图上返回null

Android findViewById在include的内部视图上返回null,android,android-layout,include,Android,Android Layout,Include,我也有类似的问题,像这个线程 我也有类似的问题: 调用包含块的xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...> <include android:id="@+id/popupMenu" layout="@layout/mainmenu_popup" />

我也有类似的问题,像这个线程

我也有类似的问题:

调用包含块的xml:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            ...>
    <include  
                android:id="@+id/popupMenu"
                layout="@layout/mainmenu_popup" /> 
    </RelativeLayout>

以及包含所含代码的mainmenu_popup.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:visibility="gone"
        android:layout_marginTop="@dimen/action_bar_height"
        android:layout_width="0dp"
        android:layout_height="0dp">
      <fragment
        android:id="@+id/mainmenupopup_fragment"
        class="RetailMobile.MainMenuFragment" />
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:layout_below="@id/mainmenupopup_fragment" 
            android:background="@color/dark_blue"
            android:id="@+id/blueLine" />
    <RelativeLayout
        ...
    </RelativeLayout>
</RelativeLayout>


将android:id添加到mainmenu\u popup.xml中的RelativeLayout中,然后按此处定义的id查找视图

我找到了解决方案 主菜单\u popup.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/popup_mainmenu">
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/popup_mainmenu_inner"> ...

...
然后我指的是弹出菜单\u主菜单\u内部:

 this.Activity.FindViewById<RelativeLayout>(Resource.Id.popup_mainmenu_inner);
this.Activity.findviewbyd(Resource.Id.popup\u主菜单\u内部);

您试图获取什么视图?在什么活动生命周期事件中调用findViewById?如果您在设置活动的contentView之前调用它,那么它将失败。在对其布局进行充气后,我尝试从片段的OnCreateView方法访问它(使用)。目前为止我不太高兴,因为我发现如果我的父容器是片段(其中我
调用FindViewById(Resource.Id.popup\u main menu\u inner)
),它仍然为空,仅当父容器是FragmentActivity或Activity时才有效
 this.Activity.FindViewById<RelativeLayout>(Resource.Id.popup_mainmenu_inner);