Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从子包中访问主res/layout/文件?_Java_Android_Resources_Import_Package - Fatal编程技术网

Java 如何从子包中访问主res/layout/文件?

Java 如何从子包中访问主res/layout/文件?,java,android,resources,import,package,Java,Android,Resources,Import,Package,这也是一个设计问题。我不知道设计多个活动的最佳方法,也不知道如何在访问应用程序资源的同时将它们分解成包 我有一个应用程序,允许用户登录并访问一个选项卡式活动,该活动允许访问许多模块。如果他们单击某个模块,他们将加载该模块,该模块将包含一个选项卡式活动 目前我在此应用程序中有3个软件包: com.appname.app(我想拆分的许多活动、登录、模块列表等) com.appname.app.XML(XML处理程序) com.appname.app.Utils(静态util类等) 我想添加一个新

这也是一个设计问题。我不知道设计多个活动的最佳方法,也不知道如何在访问应用程序资源的同时将它们分解成包

我有一个应用程序,允许用户登录并访问一个选项卡式活动,该活动允许访问许多模块。如果他们单击某个模块,他们将加载该模块,该模块将包含一个选项卡式活动

目前我在此应用程序中有3个软件包:

  • com.appname.app(我想拆分的许多活动、登录、模块列表等)
  • com.appname.app.XML(XML处理程序)
  • com.appname.app.Utils(静态util类等)
我想添加一个新的包来包含我的所有模块

  • com.appname.app.Modules(甚至每个模块都有一个单独的包)
但是,如果不使用完整的包名(如
setContentView(com.appname.app.R.layout.channel_list))引用主应用程序资源,我将无法再访问它们

显然,在任何
com.appname.app
活动中,我都只是通过
setContentView(R.layout.channel\u列表)引用版面等资源

我认为子包(子目录)应该可以访问父级资源,而不必使用
com.appname.app.R.layout.channel\u list
,而不必使用
R.layout.channel\u list
。这就是为什么我认为我的设计有问题

同样的问题也适用于访问字符串、可绘制等资源

我确信这是我错过的最基本的东西。我尝试手动导入“父”包,但也没有成功


我应该这样做吗?或者我应该在每个模块包中创建资源文件吗?或者我应该用另一种方法来处理我的应用程序的设计/拆分?

因为Android预编译器将编译对R.class文件的所有引用,并将其放入主包中,所以没有比显式导入资源更好的方法了

import com.appname.app.R;

因此,不需要完整的限定符。

由于Android预编译器将编译对R.class文件的所有引用,并将其放入主包中,因此没有比显式导入资源更好的方法了

import com.appname.app.R;

这样就不需要完整的限定符。

您是否尝试过导入com.appname.app.R;您是否尝试过导入com.appname.app.R;欢呼,但与
导入android.R冲突删除它后就可以了,这样做更有意义。我只看了一眼静态int,而没有真正查看R.java文件。在正确地“查看”它之后,我看到它是一个类,正如您所说,我只是需要导入它。我只是不确定我的设计是否完全错误。再次感谢。欢呼声有效,但与导入android.R冲突删除它后就可以了,这样做更有意义。我只看了一眼静态int,而没有真正查看R.java文件。在正确地“查看”它之后,我看到它是一个类,正如您所说,我只是需要导入它。我只是不确定我的设计是否完全错误。再次感谢。