Android布局中的布局,有单独的类处理它们的输入?

Android布局中的布局,有单独的类处理它们的输入?,android,xml,layout,Android,Xml,Layout,大家好, 我已经用Java创建了一个在Jpanels中使用Jpanels的程序。这方面的一个例子是有一个侧视图,其中包含按下时改变主视图的按钮。主视图还具有可用于更改自身的按钮 我正在尝试在android上重新创建它。我从一个xml设置了我的布局,带有一个包含按钮和主视图的侧面板 还有一个xml包含我在主视图中想要的内容 现在,我正在努力使这个单独的xml显示在主视图中,并且不知道如何让类处理自己的输入。我不想将代码粘贴到main.xml中,因为我想使内容面向对象,并且每个视图都需要一些自定义元

大家好, 我已经用Java创建了一个在Jpanels中使用Jpanels的程序。这方面的一个例子是有一个侧视图,其中包含按下时改变主视图的按钮。主视图还具有可用于更改自身的按钮

我正在尝试在android上重新创建它。我从一个xml设置了我的布局,带有一个包含按钮和主视图的侧面板

还有一个xml包含我在主视图中想要的内容

现在,我正在努力使这个单独的xml显示在主视图中,并且不知道如何让类处理自己的输入。我不想将代码粘贴到main.xml中,因为我想使内容面向对象,并且每个视图都需要一些自定义元素,例如不同的TextView

下面是我试图为android转换的示例:-

//The ViewInt class has its own layout
ViewInt tempView = new ViewInt(i, mFloorNo);
//The viewInt class is then added to the main window.
mainWindowPanel.add(tempView);
这一小段代码将创建一个视图,将其添加到主视图中,然后主窗口中的任何输入都由该类处理,但同时,不在该主窗口中的任何输入都由另一个类(可能是根类)处理。 非常感谢您的帮助,谢谢

澄清:
该程序有一个侧面板布局,包含按钮。和一个空的主视图布局。我正在尝试将.xml布局设置为此主视图布局,并将其设置为如果在该主视图中按下任何按钮,则该布局的类将处理该布局。

如果我理解您试图执行的操作,然后,我将扩展其中一个布局类来创建我的面板类,然后简单地将它们嵌套在另一个布局相对物中,可能是main.xml布局文件中

public class MyPanel extends LinearLayout
    implements Button.onClickListener {
    // Do things which are common to the side & main panels in this class
}

public class MySidePanel extends MyPanel {
}

public class MyMainPanel extends MyPanel {
}
然后在res/layout/main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <com.mydomain.MySidePanel
        android:orientation="vertical"
        android:id="@+id/side_panel_layout"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent" >
        <Button
            android:id="@+id/sp_Button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <!-- Do other button -->
    </com.mydomain.MySidePanel>
    <com.mydomain.MyMainPanel>
    <!-- main panel layout here -->
    </com.mydomain.MyMainPanel
</RelativeLayout>
在上面,我显然只在侧面板上放了一个按钮,主面板是空的,但是你应该可以从中看到我的方法。您还需要添加相对布局android:layout_uu属性

在活动中,只需设置ContentView。。。并创建面板类的实例


编辑:我想说的是,尽管上面的内容似乎完全设置了总体布局,但没有什么能阻止您在运行时创建新的MyMainPanel布局,并将其替换为RelativeLayout父级中的原始布局。

我不完全理解您的问题,您想做的是使用自定义内容的嵌套视图?是否还要在每个视图上分别处理设备输入事件?我真的不明白你的问题,因为一个而且只有一个视图在同一时间具有焦点…也许视图是一个错误的词。我可能是说布局。侧面板的布局有一些按钮,主视图的布局也有一些按钮。它们都包含在另一个布局中,即根布局,包含所有内容。主视图是可变的,所以我正在寻找一些方法来添加/删除布局。此外,我想有一个为每个布局,将在自己的布局按钮按下负责类。