我有类似的问题,比如这个线程 findViewById returns null on a LinearLayout inside an <include>d view
我也有类似的问题:
调用 include block 的 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 not working for an include?没有积极的结果。
最佳答案
将android:id
添加到mainmenu_popup.xml中的RelativeLayout,然后通过其中定义的id查找 View
关于android - findViewById 在 include 的内部 View 上返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150227/