【发布时间】:2013-06-18 20:15:08
【问题描述】:
我也有类似这个帖子findViewById returns null on a LinearLayout inside an <include>d view的问题
我也有类似的问题:
调用包含块的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?,没有得到肯定的结果。
【问题讨论】:
-
你想获得什么观点?
-
在什么activity生命周期事件中调用findViewById?如果在为活动设置 contentView 之前调用它,那么它会失败。
-
我尝试从 Fragment 的 OnCreateView 方法访问它,在它的布局上充气后(带有
的那个)。
标签: android android-layout include