Java 将ClickListener分配给第二个布局中的按钮

Java 将ClickListener分配给第二个布局中的按钮,java,android,android-layout,Java,Android,Android Layout,我正在为一个应用程序(android)做一个项目,我正在为我的公司使用android Studio。问题是我对这种编程一无所知。我来自windowsvb,恐怕在androidjava中工作并不是那么容易 我已经为我的应用程序制作了一个基本界面,并选择制作一个基于FrameLayout的应用程序(就像VB中的Panels)。到目前为止还不错 但是,我在为MainActivity类上的按钮分配ClickListener时遇到问题,因为该按钮不在activity\u main.xml文件中。让我向你展

我正在为一个应用程序(android)做一个项目,我正在为我的公司使用
android Studio
。问题是我对这种编程一无所知。我来自
windowsvb
,恐怕在
androidjava
中工作并不是那么容易

我已经为我的应用程序制作了一个基本界面,并选择制作一个基于
FrameLayout
的应用程序(就像
VB
中的
Panels
)。到目前为止还不错

但是,我在为
MainActivity
类上的
按钮分配
ClickListener
时遇到问题,因为该
按钮不在
activity\u main.xml
文件中。让我向你展示我迄今为止所取得的成果:

首先,我在
activity\u main.xml
文件上创建了一个
按钮和一个
FrameLayout

<Button
    android:id="@+id/CO001"
    android:layout_marginLeft="@dimen/campo007_left"
    android:layout_marginTop="@dimen/campo007_top"
    android:layout_width="@dimen/campo007_width"
    android:layout_height="@dimen/campo007_height"
    android:text="@string/co001"
    android:textSize="14sp"
    android:textStyle="bold"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
    android:id="@+id/FR001"
    android:layout_marginLeft="@dimen/field006_l"
    android:layout_marginTop="@dimen/field006_t"
    android:layout_width="@dimen/field006_w"
    android:layout_height="@dimen/field006_h"
    android:layout_marginStart="0dp"
    android:visibility="invisible"
    android:contentDescription="@string/app_name"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"/>
这工作做得很好。几乎像
visualbasic
。但是,在
fr001.xml
上,我有另一个按钮:

<Button
    android:id="@+id/FR001CO001"
    android:layout_width="200dp"
    android:layout_height="130dp"
    android:layout_marginLeft="432dp"
    android:layout_marginTop="54dp"
    android:background="@android:color/holo_red_dark"
    android:text="@string/ModA"
    android:textSize="24sp"
    android:textStyle="bold"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"/>

当我试图为其分配
setOnClickListener
方法时,应用程序崩溃。我想这是因为第二个
.xml
文件没有“加载”到
MainActivity
或类似的东西上

我已经尝试将第二个
.xml
文件链接到另一个活动,并在单击
CO001
按钮后启动它,但在这种情况下,第二个
.xml
出现在原始
框架布局上,并在应用程序屏幕上启动,我不希望这样


我肯定这个问题有一个简单的解决方案(或者可能没有!!)。你能帮我吗??任何帮助都将不胜感激。和往常一样,提前感谢大家。

您应该能够获得这样的按钮:

LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View view = inflater.inflate(R.layout.fr001, null); 
Button button = (Button) view.findViewById(R.id.FR001CO001);

这很简单,如果您想在主活动中显示第二个按钮,那么您必须在activity\u main.xml文件中包含或编写该xml代码。或者您可以进行另一个活动,创建另一个xml布局文件,并将该按钮放入其中?你给我的两个解决方案正是我不想做的…我能问一下你的第二个按钮到底在哪里吗?在您提到的frameLayout内部或其他地方?单击第一个按钮后,它位于
frameLayout
内部。它在第二个
.xml
文件中声明。如果在framelayout中使用它,则可以轻松访问它。但我不明白你到底在这里干什么。我可以拿到按钮。。。我不能做的是将
onClickListener
方法分配给它。我现在这样做了,我的代码允许我在
按钮上分配
onClickListener
,您应该可以这样做。如果不能,可以尝试更改视图:
view view=getLayoutInflater().inflate(R.layout.fr001,null)
LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View view = inflater.inflate(R.layout.fr001, null); 
Button button = (Button) view.findViewById(R.id.FR001CO001);