在Monodroid中,我有一个ListActivity类,它包含以下axml段:
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ViewStub
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout="@layout/empty" />
我正在尝试使用以下访问ViewStub
FindViewById(Android.Resource.Id.Empty);
但是,它总是返回null。如果我使用访问列表
FindViewById(Android.Resource.Id.List);
它可以工作,或者如果我将ViewStub命名为@android:id/empty之外的其他名称,它也可以工作。当我的列表为空时,ViewStub确实有效。
感谢
以下是我能想到的一些可能是问题所在的事情。
第一个问题可能是您在其他地方有另一个定义id为"空"的UI页面。MonoDroid将所有页面中的所有ID放在同一个资源文件中,因此显然不能两次使用相同的名称。试着把空2放进去看看是否有效。
下一个问题可能是你应该有android:id=@id+/empty"。+命令告诉MonoDroid为Resource文件中的控件生成一个id。
最后,使用除"空"之外的其他词。Empty可能是Android/MonoDroid的保留词,所以我会避免它。