Java 是否可以抽象出XML代码的重复部分?

Java 是否可以抽象出XML代码的重复部分?,java,android,xml,android-layout,Java,Android,Xml,Android Layout,我正在开发一个android应用程序,我正在尝试在应用程序中的几乎所有活动上实现HorizontalScrollView。(接近50+) 我希望在java文件中定义一个类/变量/函数,然后在XML文件中调用它,这样我就不必重新键入/复制和粘贴代码超过50次 另外,如果我在我的MainActivity中定义了一个函数,是否可以在其他java/XML文件中使用它 在xml文件中,您可以包含其他xml布局。我想您可以使用它。在xml文件中,您可以包含其他xml布局。我认为你可以使用它。首先,你的应用程

我正在开发一个android应用程序,我正在尝试在应用程序中的几乎所有活动上实现
HorizontalScrollView
。(接近50+)

我希望在java文件中定义一个类/变量/函数,然后在XML文件中调用它,这样我就不必重新键入/复制和粘贴代码超过50次


另外,如果我在我的
MainActivity
中定义了一个函数,是否可以在其他java/XML文件中使用它

在xml文件中,您可以包含其他xml布局。我想您可以使用它。

在xml文件中,您可以包含其他xml布局。我认为你可以使用它。

首先,你的应用程序中应该只有一个
活动
作为入口点,并在不同的窗口中使用
片段
,这是谷歌目前正在推动的想法


其次,是的,您可以在其他java文件中重用
MainActivity
函数,但不能在XML文件中重用。例如:

定义一个接口:

public interface MyInterface {
    void triggerMainActivityFunction();
}
然后在
main活动中实现此接口:

public class MainActivity extends Activity implements MyInterface {
    ...
    @Override
    public void triggerMainActivityFunction() {
        // Do something
    }
    ...
}
在要触发此函数的所有java类中定义侦听器:

public class SomeClass extends Fragment {
    ...
    private MyInterface listener;

    @Override
    void onCreate(...) {
        listener = (MyInterface) getActivity();
    }

    // your function to trigger a reusable 
    // function from Activity when user clicks on something
    public void onClick() {
        listener.triggerMainActivityFunction();
    }
    ...
}

第三,是的,您可以通过使用标记重用XML布局



希望这有帮助。祝你好运:)

首先,你的应用程序中应该只有一个
活动
作为入口点,并在不同的窗口中使用
片段,这是谷歌目前正在推动的想法


其次,是的,您可以在其他java文件中重用
MainActivity
函数,但不能在XML文件中重用。例如:

定义一个接口:

public interface MyInterface {
    void triggerMainActivityFunction();
}
然后在
main活动中实现此接口:

public class MainActivity extends Activity implements MyInterface {
    ...
    @Override
    public void triggerMainActivityFunction() {
        // Do something
    }
    ...
}
在要触发此函数的所有java类中定义侦听器:

public class SomeClass extends Fragment {
    ...
    private MyInterface listener;

    @Override
    void onCreate(...) {
        listener = (MyInterface) getActivity();
    }

    // your function to trigger a reusable 
    // function from Activity when user clicks on something
    public void onClick() {
        listener.triggerMainActivityFunction();
    }
    ...
}

第三,是的,您可以通过使用标记重用XML布局



希望这有帮助。祝你好运:)

是的,这是可能的。一般来说,您可以创建xml布局部件并重用它们,请参见示例Yes using
tag您可以在其他xml中重用某些布局您可以将其标记为问题的答案,当然,如果它对您有帮助,这是可能的。一般来说,您可以创建xml布局部件并重用它们,请参见示例Yes using
tag您可以在其他xml中重用某些布局您可以将其标记为问题的答案吗?当然,如果这对您有帮助,请创建您想要复制的xml,然后使用该标记使用该资源。只需创建您想要复制的xml,然后使用标记来使用该资源。