Android中具有布局的自定义软件包

Android中具有布局的自定义软件包,android,android-layout,package,Android,Android Layout,Package,我创建了一个自定义包com.test1.web,并且在这个包中有一个类。(带有活动扩展的类) 我的应用程序使用com.test2.main源代码运行 我无法访问定制包中的R.layout 如何访问此文件?您可以在扩展应用程序中创建并通过intent将其发送到主软件包 Intent intent = new Intent("OPEN_YOUR_MAIN_APP"); RemoteViews views = new RemoteViews(context.getPackageName

我创建了一个自定义包com.test1.web,并且在这个包中有一个类。(带有活动扩展的类)

我的应用程序使用com.test2.main源代码运行

我无法访问定制包中的R.layout

如何访问此文件?

您可以在扩展应用程序中创建并通过intent将其发送到主软件包

Intent intent = new Intent("OPEN_YOUR_MAIN_APP");
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.my_layout);
        intent.putExtra("layout", views);
        startActivity(intent);
或者另一种方法是通过方法在主应用程序中创建扩展应用程序的上下文 调用


谢谢,但我不能用那个。。。我的应用程序正在com.test2.main中运行。在主布局中,我曾经展示过。看起来我一开始不理解您,所以您可以使用布局创建库模块,并在两个应用程序之间共享它是的,确切地说,我想将其导出到库:)但我不知道如何使用布局:(您需要创建库,并在两个应用程序中使用它,仅此而已。或者您可以添加一些关于您的意图的解释吗
    try {
        Context extensionAppContext = context.createPackageContext("com.test1.web", Context.CONTEXT_RESTRICTED);
        Resources extensionAppResources = extensionAppContext.getResources();
        int layoutId = extensionAppResources.getIdentifier("layout_name", "layout", "com.test1.web");
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }