发布
社区首页 >问答首页 >为什么我不能使用字符串ID android.R.string.share?

为什么我不能使用字符串ID android.R.string.share?
EN

Stack Overflow用户
提问于 2013-04-04 18:31:26
回答 4查看 2.8K关注 0票数 3

它就在Android源代码中的值/strings.xml s.xml中--为什么它不在android.R中呢?

编辑:我指的是Android的内置字符串资源(android.R.string.…),而不是我自己的项目的资源--因此,虽然我可以使用android.R.string.cancel,但我不能使用android.R.string.share,尽管两者都是在安卓源代码中的同一个文件中声明的

EN

回答 4

Stack Overflow用户

发布于 2013-04-04 18:45:55

它们只是资源文件夹下的资源。

代码语言:javascript
代码运行次数:0
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="share">hello</string>
</resources>

上面的资源在R.java文件中有一个条目,在您的包名下。您可以打开R.java并查看它。

代码语言:javascript
代码运行次数:0
复制
    public static final int share=0x7f040000;

您可以将Strings.xml中的字符串称为

代码语言:javascript
代码运行次数:0
复制
  R.String.share

R.strin.share是一个int。

您还可以将字符串作为

代码语言:javascript
代码运行次数:0
复制
   String s= getResources().getString(R.string.share);

编辑:

http://developer.android.com/guide/topics/resources/accessing-resources.html#PlatformResources

在标题访问平台资源下检查上面链接中的主题

Android包含许多标准资源,如样式、主题和布局。要访问这些资源,请将资源引用限定为android包名。

有关所有资源的列表,请检查链接

http://developer.android.com/reference/android/R.html

来自http://developer.android.com/reference/android/R.string.html的列表

票数 1
EN

Stack Overflow用户

发布于 2013-04-04 19:31:43

您正在为哪个SDK版本编译??请检查相同SDK版本的strings.xml。我认为目标SDK版本和strings.xml之间存在一些不匹配(您指的是“共享”存在的地方)

不过,我将建议在应用程序strings.xml中添加您自己的“共享”字符串,以避免由于Android支离破碎而产生不必要的问题。

票数 1
EN

Stack Overflow用户

发布于 2013-04-04 18:34:43

R是系统的R

你的R只是你自己的包名中的R。因此,在引用它时,只需将其命名为R.string.share而不是android.R.string.share

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15818944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档