2

我有类似的问题,比如这个线程findViewById 在 <include>d 视图内的 LinearLayout 上返回 null

我有类似的问题:

调用包含块的 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>

我遵循 Luksprog 的回答

RelativeLayout popupMenu = this.Activity.FindViewById<RelativeLayout>(Resource.Id.popupMenu);

但是 popupMenu == null

我还检查了这个线程findViewById 不适用于包含?没有积极的结果。

4

2 回答 2

2

添加android:id到 mainmenu_popup.xml 中的 RelativeLayout,然后通过那里定义的 id 查找视图

于 2013-06-17T14:42:31.903 回答
0

我找到了解决方案 mainmenu_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"> ...

然后我指的是popup_mainmenu_inner:

 this.Activity.FindViewById<RelativeLayout>(Resource.Id.popup_mainmenu_inner);
于 2013-06-18T12:15:08.120 回答