使用@android获取ViewStub:Monodroid中的id / empty返回null

时间:2012-03-07 21:43:39

标签: android xamarin.android

在Monodroid中我有一个带有以下axml段的Lis​​tActivity类:

    <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可以正常工作。

由于

1 个答案:

答案 0 :(得分:0)

以下是我能想到的一些可能是问题的事情。

第一个问题可能是你有另一个UI页面在其他地方定义了“空”的id。 MonoDroid将所有页面中的所有ID放入同一资源文件中,因此显然不能两次使用相同的名称。尝试将empty2放入以查看是否有效。

下一个问题可能是你应该有android:id = @id + / empty“。+告诉MonoDroid在资源文件中为控件生成一个ID。

最后,使用“空”之外的其他内容。空可以是Android / MonoDroid的保留字,所以我会避免它。