我有多个 XML 文件需要一个 Activity 用于其视图,该 Activity 将从创建时传递给它的名称加载一个 XML 文件。这些 XML 文件将包含一组 UI 元素,例如具有标准化名称(即 UpBtn、DownBtn)的按钮。
视图会有所不同(包含不同的按钮名称),但我希望能够检查 XML 中是否存在特定名称的按钮,以便我可以在 Activity 中执行特定操作。
有没有办法做到这一点,还是我必须求助于每个 XML 的活动?
我有多个 XML 文件需要一个 Activity 用于其视图,该 Activity 将从创建时传递给它的名称加载一个 XML 文件。这些 XML 文件将包含一组 UI 元素,例如具有标准化名称(即 UpBtn、DownBtn)的按钮。
视图会有所不同(包含不同的按钮名称),但我希望能够检查 XML 中是否存在特定名称的按钮,以便我可以在 Activity 中执行特定操作。
有没有办法做到这一点,还是我必须求助于每个 XML 的活动?
您可以使用findViewById( id )
,如果它返回 null 则您指定的 id 不存在。
在您的 xml 中,为您的视图提供一个唯一的 id
<Button
android:id="@+id/upBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
在您的活动中,如果您已经使用其中一个 XML 文件调用了 setContentView(),则可以调用 findViewById() 通过其 id 查找特定视图:
Button upBtnView = (Button) findViewById(R.id.upBtn);
如果您提供的 xml 中存在此视图,则 upBtnView 将是您想要的按钮;否则, upBtnView 将为空,您将知道它不在您的布局中。