【问题标题】:Use the correct values/strings.xml of a library project from within the library project在库项目中使用库项目的正确 values/strings.xml
【发布时间】:2014-03-04 19:59:50
【问题描述】:

我正在开发一个 Android 应用程序,该应用程序使用一个库项目,其中包含我工作区中的几个应用程序正在使用的通用方法。

在库项目中,我有一个类,其中包含一个显示警报对话框和一些 toast 消息的方法。

我想要做的是使用 库的“res/values/strings.xml”值来处理那些警报对话框和 toast 消息。 关键是我当然希望取值是根据当前用户语言的相关字符串值。 这样,每当我从其他应用程序使用库中的这些方法时,我就不必在应用程序的“values/strings.xml”中重新翻译每个应用程序的字符串。

提前致谢!

【问题讨论】:

    标签: java android xml android-resources library-project


    【解决方案1】:

    这就是使用库的美妙之处:应用程序中定义的任何字符串都会覆盖库中的字符串。如果我正确理解了您的问题,您不必做任何事情:只要确保字符串名称相同即可。

    请参阅documentation on libraries 中的这句话:

    由于这些工具将图书馆项目的资源与 依赖的应用程序项目,可能会定义给定的资源 ID 在这两个项目中。在这种情况下,工具从 应用程序或具有最高优先级的库,并丢弃 其他资源。在开发应用程序时,请注意常见的 资源 ID 可能在多个项目中定义,并且 将与应用程序中的资源合并,或者 优先级最高的库。

    【讨论】:

    • 显然我正在寻找的是“getString”方法,我最终只能通过参数将其与 活动活动的上下文一起使用,例如:theActivityContext.getString(R.string.Translated_String)
    猜你喜欢
    • 1970-01-01
    • 2016-06-06
    • 2013-08-07
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多