如何查找ViewById不在主Activity中的视图?

时间:2016-12-05 19:17:55

标签: android xml android-layout

我有两个xml文件:

  • activity_main.xml(这是主要活动的布局)
  • separate.xml(包含视图,例如自定义视图) 按钮)
  

separate.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/buttonLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center">


     <Button
        android:id="@+id/myButton"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@android:drawable/ic_input_add"
        android:elevation="0dp"
        android:onClick="onMyButtonClicked"/>

</RelativeLayout>

现在,如果我想在主要活动的视图中添加此布局,我必须首先进行膨胀,然后在父布局中推送膨胀的视图。

View buttonLayout = getLayoutInflater().inflate(R.layout.separate, null);
parentLayout.addView(buttonLayout);

但我想做的是

parentLayout.addView(findViewById(R.id.buttonLayout));

我知道它几乎相同,但我希望能够为个人组织做到这一点。换句话说,是否可以在不同文件中分隔视图并在主活动中注册它们(使用其布局的ID),以便我们可以使用findViewById访问它们?

ps:我试图使用context属性但没有改变。也许我们可以将视图放在activity_main中,并将其隐藏在屏幕上,仅用于此目的?

0 个答案:

没有答案