有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

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


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

    定义一个接口:

    public interface MyInterface {
        void triggerMainActivityFunction();
    }
    

    然后在MainActivity中实现此接口:

    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();
        }
        ...
    }
    


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


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