如何动态检查XML是否包含UI元素

时间:2012-11-22 02:24:25

标签: android xml button view android-activity

我有多个XML文件需要被一个Activity用于其视图,Activity将在创建时从传递给它的名称加载XML文件。这些XML文件将包含一组UI元素,例如具有标准化名称的按钮(即UpBtn,DownBtn)。

视图将不同(包含不同的按钮名称),但我希望能够检查XML中是否存在特定名称的按钮,以便我可以在活动中执行特定操作。

有没有办法做到这一点,还是我不得不求助于每个XML的活动?

2 个答案:

答案 0 :(得分:1)

您可以使用findViewById( id ),如果它返回null,则您指定的ID不存在。

答案 1 :(得分:1)

在您的xml中,为您的视图提供唯一ID

<Button
    android:id="@+id/upBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

在您的活动中,如果您已经使用其中一个XML文件调用了setContentView(),则可以通过其id调用findViewById()来查找特定视图:

Button upBtnView = (Button) findViewById(R.id.upBtn);

如果您提供的xml中存在此视图,则upBtnView将是您想要的按钮;否则,upBtnView将为null,您将知道它在您的布局中不存在。