gpt4 book ai didi

java - 如何从子包访问主要资源/布局/文件?

转载 作者:行者123 更新时间:2023-11-29 08:13:46 26 4
gpt4 key购买 nike

这也是一个设计题。我不知道设计具有许多 Activity 的最佳方式,以及如何在仍然访问应用程序资源的同时将它们分解成包。

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

目前我在这个应用程序中有 3 个包:

  • com.appname.app(我想拆分的许多 Activity 、登录、模块列表等)
  • com.appname.app.XML(xml 处理程序)
  • com.appname.app.Utils(静态实用程序类等)

我想添加一个新包来包含我所有的模块,比如

  • com.appname.app.Modules(甚至是每个模块的单独包)

但是如果不使用完整的包名称(例如 setContentView(com.appname.app.R.layout.channel_list);

,我就无法再访问主要应用程序资源>

显然,在任何 com.appname.app Activity 中,我只是通过 setContentView(R.layout.channel_list); 引用布局等资源。

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

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

我确定这是我所缺少的非常基本的东西。我试过手动导入“父”包,但也没有用。

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

最佳答案

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

import com.appname.app.R;

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

关于java - 如何从子包访问主要资源/布局/文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6135555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com